首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有IOCP问题的ConnectEx

具有IOCP问题的ConnectEx
EN

Stack Overflow用户
提问于 2010-06-26 15:12:47
回答 2查看 1.9K关注 0票数 1

我已经使用IOCP创建了一个简单的虚拟服务器/虚拟客户端程序,用于测试/分析目的。(我还想指出,我是异步网络编程的新手)

看起来服务器和原始客户端工作得很好,但是当虚拟客户端尝试使用ConnectEx函数连接到服务器时,IOCP Worker线程仍然被GetQueuedCompletionStatus函数阻塞,并且在服务器成功接受连接时永远不会返回结果。

问题和/或原因是什么?我应该如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-20 18:07:40

即使在您将接受的套接字关联到IOCP之后,您的工作线程仍将在GetQueuedCompletionStatus上保持阻塞状态,直到您发布一个“解锁”完成事件。接收/写入操作的完成事件不会由系统发送,除非您“解锁”您的新套接字。有关详细信息,请查看Push Framework的源代码,它是一个使用http://www.pushframework.com的C++网络应用程序框架。“解锁”技巧存在于"IOCPQueue“类中。

票数 0
EN

Stack Overflow用户

发布于 2010-07-01 22:27:22

我认为你用你的评论回答了你自己的问题。

你的事件顺序是错误的,你说你绑定,ConnectEx,关联到IOCP。

您应该绑定,将套接字与IOCP关联,然后调用ConnectEx。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3123030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档