首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.Net SocketAsyncEventArgs可重用性

.Net SocketAsyncEventArgs可重用性
EN

Stack Overflow用户
提问于 2019-11-28 23:01:37
回答 1查看 68关注 0票数 0

我只想确保我理解了SocketAsyncEventArgs的可重用性特性。据我所知,SocketAsyncEventArgs可以重用于一个连接和不同的操作。所以我可以使用相同的SocketAsyncEventArgs连接/发送/接收(客户端)或接受/发送/接收(服务器)?或者我仍然需要为不同的操作使用新的SocketAsyncEventArgs?

我也知道SocketAsyncEventArgs主要是为服务器端的高性能而设计的。因此,正确的用法应该是在服务器上有一个SocketAsyncEventArgs池,为每个连接保存一个SocketAsyncEventArgs。并将SocketAsyncEventArgs重用于连接上的不同操作。在客户端,你可以只使用一个SocketAsyncEventArgs。

我的理解对吗?不幸的是,我在文档中没有找到关于这一点的明确声明。

EN

回答 1

Stack Overflow用户

发布于 2019-12-04 16:56:49

回答我自己的问题: SocketAsyncEventArgs替换开始.../结束...所需的IAsyncResult ...方法。因此,对于服务器,您仍然需要有一个用于侦听的套接字。但是,现在每个连接的客户端都有一个SocketAsyncEventArg,而不是一个Socket。SocketAsyncEventArgs在某种意义上是可重用的,即可用于具有相同连接的客户端的所有操作。改进之处在于,您不需要为连接的客户端上的每个操作操作都提供IAsyncResult。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59091623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档