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

  • 相关阅读:
    生成器
    迭代器
    装饰器
    Maven工具学习(六)----Maven依赖的版本锁定与版本常量
    SpringBoot学习记录之整合JSP
    SpringBoot学习记录之入门篇
    【k8s】ep-addresses
    【k8s】ep-metadata
    【k8s】Endpoints
    【k8s】cj-suspend
  • 原文地址:https://www.cnblogs.com/cjnmy36723/p/4506129.html
Copyright © 2020-2023  润新知