"现在已经正在使用此SocketAsyncEventArgs实例进行异步套接字操作"的处理

"现在已经正在使用此 SocketAsyncEventArgs 实例进行异步套接字操作"

创新互联专注于企业全网整合营销推广、网站重做改版、观山湖网站定制设计、自适应品牌网站建设、HTML5建站商城建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为观山湖等各大城市提供网站开发制作服务。

    发现不少人在使用SocketAsyncEventArgs进行高性能通信开发时碰到此问题,但网络上没有具体的解决方案,因此记录分享下我的处理方式

    首先此问题通常在接入连接、和数据发送、接收时出现此异常

    1.接收连接时抛出此异常,需要实现接收连接的同步,使用semaphor等待即可

    2.使用SocketAsyncEventArgs的核心是实现对象复用,减少对象的分配和回收从而提高程序性能。通常是使用stack或queue管理异步对象,我使用的是stack

    stack池是后进先出,多线程数据的接收、发送和对象的pop、push会出现混乱(因此使用queue应该会更好),所以需要实现它们之间的同步

    同步实现的方式是在一个连接断开的时候使用lock保证对异步对象的操作同步即可,因为只有在连接断开时才会有异步对象的pop和push。

以上只是我个人解决此问题的思路和方式,具体情况具体分析,希望可以帮到你


网页标题:"现在已经正在使用此SocketAsyncEventArgs实例进行异步套接字操作"的处理
文章出自:http://csruizhi.cn/article/ijdcig.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 重庆企业网站建设 手机网站制作 成都品牌网站设计 成都网站制作公司 网站建设方案 成都网站建设 成都网站制作 手机网站制作 网站设计制作报价 重庆网站设计 成都网站制作 重庆网站制作 公司网站建设 重庆企业网站建设 成都定制网站建设 成都网站建设 成都网站建设 温江网站设计 外贸营销网站建设 网站制作 高端网站设计 古蔺网站建设