1

我将 Winsock2 与重叠 I/O 结合使用。这意味着我用 WSAOVERLAPPED 结构调用 WSARecv,然后我用 WSAWaitForMultipleEvents 等待数据。

我做了一个奇怪的观察,当我用调试器停止它时,我似乎丢失了发送到我的应用程序的任何数据。我认为这些数据会堆积在操作系统的某个地方,然后在下一次调用 WSARecv 时传递。

我的假设是错误的吗?

4

1 回答 1

1

UDP还是TCP?

我假设您每次调用都使用一个单独的 OVERLAPPED 结构,每个结构使用一个单独的事件。

请记住,将重叠 I/O 与事件一起使用并不是特别可扩展,只需将套接字与 I/O 完成端口相关联并完全跳过整个事件事情就容易得多。

于 2011-06-11T07:08:29.133 回答