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”,结果导致多批数据保存到同一个缓冲区,结果就是数据错乱了。

 

相关文章:

  • 2022-12-23
  • 2021-06-27
  • 2022-12-23
  • 2021-12-05
  • 2021-09-06
  • 2022-01-31
  • 2021-04-29
  • 2022-12-23
猜你喜欢
  • 2021-04-14
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
相关资源
相似解决方案