完成端口能不能接收accept的消息?怎么收?谢谢

lu_zi 2005-12-30 01:51:59
完成端口能不能接收accept的消息?怎么收?谢谢
其它方式如select是可以的.
...全文
223 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mme 2005-12-31
  • 打赏
  • 举报
回复
AcceptEx的第四个参数设为0即可
lu_zi 2005-12-31
  • 打赏
  • 举报
回复
多谢两位,基本成功了,但是还有一个问题,就是我在线程里每次进行GetQueuedCompletionStatus接收acceptex的响应时,必须要等到客户端向我发一些数据,这个函数才能返回,这是怎么回事啊.如果不发数据,客户端那边连接成功了,但服务器这边的GetQueuedCompletionStatus还在阻色呢.
怎么解决啊?多谢了!
loverx 2005-12-31
  • 打赏
  • 举报
回复
从原理的角度讲:
简述:完成端口内部使用线程池,线程池中得每个线程监视每一个IO的状态,etc ReadFile,WriteFile,Send,Write,Accept......
然后通过GetQueuedCompletionStatus返回

从应用的角度讲:
只要在合适的时机投递一个WSAAccept 就可以了,就象例子投递一个WSARecv一样
jilinfuyu 2005-12-31
  • 打赏
  • 举报
回复
能。使用AcceptEx()传递OVERLAPPED结构,详情见《WINDOWS网络编程》
xuzheng318 2005-12-31
  • 打赏
  • 举报
回复
http://lunwen.zhupao.com/Article/2005-2-21/3967.shtml



http://tech.sina.com.cn/s/2005-06-07/0852628361.shtml

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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