1

我知道建议在创建 IOCP 应用程序时使用WSAAccept(),而不是。accept()但我不确定是否WSASocket()属于 Overlapped I/O 函数,还是只是另一个 Winsock 函数?

4

1 回答 1

3

我一直认为您可以通过查看 MSDN 文档来回答这个问题,socket()并且WSASocket(),特别是您无法创建可与重叠 I/O(和 IOCP)一起使用socket()的套接字当您创建套接字时。但这是不正确的,因为创建了已设置的套接字。WSASocket()WSA_FLAG_OVERLAPPEDsocket()WSA_FLAG_OVERLAPPED

然而,一般来说,Windows 中的 berkeley/POSIX 套接字函数只是为了方便那些想要对该 API 进行编程的人。几乎没有理由使用它们,应该首选原生 Windows API。

于 2015-03-09T18:24:20.480 回答