完成端口能不能接收accept的消息?怎么收?谢谢
其它方式如select是可以的.

解决方案 »

  1.   

    能。使用AcceptEx()传递OVERLAPPED结构,详情见《WINDOWS网络编程》
      

  2.   

    从原理的角度讲:
    简述:完成端口内部使用线程池,线程池中得每个线程监视每一个IO的状态,etc ReadFile,WriteFile,Send,Write,Accept......
    然后通过GetQueuedCompletionStatus返回从应用的角度讲:
    只要在合适的时机投递一个WSAAccept 就可以了,就象例子投递一个WSARecv一样
      

  3.   

    多谢两位,基本成功了,但是还有一个问题,就是我在线程里每次进行GetQueuedCompletionStatus接收acceptex的响应时,必须要等到客户端向我发一些数据,这个函数才能返回,这是怎么回事啊.如果不发数据,客户端那边连接成功了,但服务器这边的GetQueuedCompletionStatus还在阻色呢.
    怎么解决啊?多谢了!
      

  4.   

    AcceptEx的第四个参数设为0即可
      

  5.   

    http://lunwen.zhupao.com/Article/2005-2-21/3967.shtmlhttp://tech.sina.com.cn/s/2005-06-07/0852628361.shtml