• 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加载jar包配置
    JavaScript基础博客
    angularjs1 实现地图添加自定义控件(搜索功能)及事件
    AngularJS之Directive,scope,$parse
    HTML5 File详解
    angularjs上传图片
    input上传按钮美化
    AngularJs表单验证
    作用域与闭包
    理解JavaScript中的作用域和上下文
  • 原文地址:https://www.cnblogs.com/cjnmy36723/p/4506129.html
Copyright © 2020-2023  润新知