【发布时间】:2017-06-04 05:25:27
【问题描述】:
我正在编写 Win32-API C 代码,它需要等待新的 TCP 连接,另一方面可以随时被任何其他进程/线程关闭。
因此,我需要在停止事件上以某种方式 WaitForSingleObject 并同时等待使用 WSAAccept 的连接。
我在套接字和句柄上都尝试了 WaitForMultipleObjects,但新连接不会触发该函数(套接字上的 WaitForSingleObject 也不会在新连接上触发)。
有什么想法吗?
【问题讨论】:
-
你需要使用AcceptEx 而不是
WSAAccept- 这个api是异步的。你根本不需要等待它。如果您将套接字(第二个参数)绑定到 IOCP - 连接完成时您会收到回调
标签: c windows sockets winapi ipc