采用IOCP进行TCP编程,为什么建立Socket的时候需要添加完成端口,关闭Socket的时候需要不需要删除完成端口?找了很久,也没有找到关闭Socket的时候,删除完成端口的方法?
是否系统就是会自动关闭无效的完成端口了?

解决方案 »

  1.   

    PostQueuedCompletionStatus后,GetQueuedCompletionStatus中closesocke
      

  2.   

    关闭的socket句柄里已经包含这些信息了
      

  3.   

    我觉着不是“建立Socket的时候需要添加完成端口”,而是建立socket的时候把此socket加入完成端口监视队列,有点像select模型。而socket关闭后完成端口可能自动将其移出队列