是否可以将 WaitForMultipleObjects() 与 ACE_SOCK_Stream 一起使用,并使其仅在有数据可读取时才返回?
我试图遵循:
// set some params
DWORD handlesCount = 1;
DWORD timeoutMs = 5 * 1000;
HANDLE* handles = new HANDLE[handlesCount];
handles[0] = sock_stream.get_handle();
while (true) {
int ret = WaitForMultipleObjects(handlesCount, handles, false, timeoutMs);
std::cout << "Result: " << ret << std::endl;
但是 WaitForMultipleObjects() 立即返回套接字流索引,表明它已准备好(它在无限循环中打印 0)。
通过ACE_SOCK_Acceptor
(ACE_SOCK_Acceptor->accept()) 接受套接字。
如何让 WaitForMultipleObjects() 等到套接字有数据要读取?