C# socket的BeginReceive和ReceiveAsync有什么区别

归叶 2019-02-24 05:13:25
我看官网说“这些增强功能的主要功能是避免在高容量异步套接字I / O期间重复映射和同步对象。当前实现System.Net.Sockets.Socket类的Begin / End设计模式需要为每个异步套接字操作映射System.IAsyncResult对象。”
...全文
1527 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1
对于某一个连接,其异步 Receive 方法是顺序执行的,一个异步 Receive 方法执行完毕才会注册下一个异步 Receive 委托。那么前边处理的 SocketAsyncEventArgs 对象实例就可以共享给后续的 Receive 委托,而不需要像 BeginReceive 一样总是独立创建 IAsyncResult 的(子类)实例。
wanghui0380 2019-02-24
  • 打赏
  • 举报
回复
BeginReceive和ReceiveAsync,出来的有先有后

最早出来了BeginReceive,人们觉着麻烦。然后微软重新实现了更为简单的ReceiveAsync

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧