Socket 使用笔记与注意事项(一)

SocketAsyncEventArgs

1.该参数可以重复使用。

2.SocketAsyncEventArgs 的事件执行触发之后可以使用。

3.SocketAsyncEventArgs 的事件还在等待状态时,即操作未完成,则不可以使用。

压力测试办法:

1.先做客户端不停的刷。

一开始的量不要太多。

连续挂好几天,先保证能够稳定的通信。

2.当服务端能稳定好几天都能正确传输数据的时候,开始慢慢的加量,来测试并优化服务端的极限。

参考资料:

http://www.cnblogs.com/tianzhiliang/archive/2010/08/31/1813649.html

使用 SocketAsyncEventArgs 发生内存无法回收导致内存使用量一直在上升问题。

http://blog.csdn.net/ani/article/details/7182035

http://blog.csdn.net/ani/article/details/7183962

由于“e.Buffer”中使用的内存没有被释放,导致 SocketAsyncEventArgs 对象无法被回收,最后导致内存使用量无限增长下去。

 e.SetBuffer(null, 0, 0);

在发送完成和接收完成时使用这个来清空数据即可。

同时又因为没有清理“e.Buffer”,结果导致多批数据保存到同一个缓冲区,结果就是数据错乱了。

时间: 2024-12-13 08:22:24

Socket 使用笔记与注意事项(一)的相关文章

C++ Socket 学习笔记

Socket学习笔记 以下均为整理,做参考之用. IP Address IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异. IP地址被用来给Internet上的电脑一个编号.大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信.我们可以把"个人电脑"比作"

JAVA Socket学习笔记20140618

2014-06-18  23.59 http://blog.csdn.net/kongxx/article/details/7288896 http://blog.csdn.net/wwww1988600/article/details/8923927 http://blog.csdn.net/xunianchong/article/details/16358077 http://blog.csdn.net/wwww1988600/article/details/8924081 http://w

socket 学习笔记

#include <sys/socket.h> --------------------------------------------------------------------------------- 1. int socket(int domain, int type, int protocol) socket: return fd domain: AF_INET(IPv4), AF_INET6(IPv6) type: SOCK_DGRAM(udp), SOCK_STREAM(tc

Socket学习笔记

80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议.可以通过HTTP地址(即常说的"网址")加":80"来访问网站,因为浏览网页服务默认的端口号都是80,因此只需输入网址即可,不用输入":80"了. 查询百度服务器IP地址:在cmd中输入ping www.baidu.com 什么是Buffere

转:C# Socket编程笔记

原文路径:http://www.cnblogs.com/stg609/archive/2008/11/15/1333889.html 1.按惯例先来介绍下socket      Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样.在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的.什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据.你也可以理解成是一个API.有了它,你就不用直接去操

Delphi基础语法的学习笔记和注意事项总结

以下是我在自学Delphi的时候,对一些注意点的简单总结,并没有什么系统性可言,只是一个学习时顺手记下的笔记,主要为了当时加深对知识的印象,并没有希望能在以后的复习和使用Delphi中有什么多大的参考作用.    缺少Delphi的各种数据类型的介绍……知识点. 1.     Delphi编译器自动对全局变量符初值.当程序开始时,所有的整型变量赋值为0,浮点数赋值为0.0,指针为null,字符串为空等等,因此,在源代码中不必对全局变量赋0初值 2.     Object Pascal允许在con

C# Socket学习笔记二

小记:昨天咱们已经了解了Socket的通信原理,可是点对点的一次通信并不是我们想要的,那么今天那我们就继续学习异步通信,简单来说就是服务器端和客户端可以进行多次 互发信息的通信而不用担心通道会关闭.在介绍异步通信时,客户端和服务器端的连接和上面介绍的同步通信建立连接的方式是一样的,只是接收和发送数据的方式改变了! 1.什么是异步通信? 异步:客户端请求之后,不必等到服务器回应之后就可以发送下一条请求,并行运行. 2.同步与异步的区别? 同步:我叫你吃饭,你若暂时有事情我就一直在那等,不干别的事情

C# Socket学习笔记一

小记:刚接触网络编程觉得网络是个神奇的东西,所以对它就很有兴趣,想了解下网络是如何进行进行数据传输的,那么开始第一天的学习吧!ReadyGo!!! 首先我们要了解一下几点内容: 1.网络中进程之间如何通信? 2.Socket是什么? 3.socket的基本操作 3.1.socket()函数 3.2.bind()函数 3.3.listen().connect()函数 3.4.accept()函数 3.5.read().write()函数等 3.6.close()函数 4.socket中TCP的三次

基于TCP协议的简单Socket通信笔记(JAVA)

好久没写博客了,前段时间忙于做项目,耽误了些时间,今天开始继续写起~ 今天来讲下关于Socket通信的简单应用,关于什么是Socket以及一些网络编程的基础,这里就不提了,只记录最简单易懂实用的东西. 1.首先先来看下基于TCP协议Socket服务端和客户端的通信模型: Socket通信步骤:(简单分为4步) 1.建立服务端ServerSocket和客户端Socket 2.打开连接到Socket的输出输入流 3.按照协议进行读写操作 4.关闭相对应的资源 2.相关联的API: 1.首先先来看下S