我看官网说“这些增强功能的主要功能是避免在高容量异步套接字I / O期间重复映射和同步对象。当前实现System.Net.Sockets.Socket类的Begin / End设计模式需要为每个异步套接字操作映射System.IAsyncResult对象。”

解决方案 »

  1.   

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

  2.   

    对于某一个连接,其异步 Receive 方法是顺序执行的,一个异步 Receive 方法执行完毕才会注册下一个异步 Receive 委托。那么前边处理的 SocketAsyncEventArgs 对象实例就可以共享给后续的 Receive 委托,而不需要像 BeginReceive 一样总是独立创建 IAsyncResult 的(子类)实例。