1

オーバーラップ I/O と組み合わせて Winsock2 を使用しています。これは、WSAOVERLAPPED 構造を使用して WSARecv を呼び出し、後でデータを WSAWaitForMultipleEvents で待機することを意味します。

デバッガーでアプリケーションを停止している間に、アプリケーションに送信されたデータが失われているように見えるという奇妙な観察をしました。このデータは OS のどこかに蓄積され、次に WSARecv が呼び出されたときに配信されると思いました。

私の仮定は間違っていますか?

4

1 に答える 1

1

UDPまたはTCP?

呼び出しごとに個別のOVERLAPPED構造体を使用し、構造体ごとに個別のイベントを使用していると仮定します。

オーバーラップしたI/Oをイベントで使用することは特にスケーラブルではないことに注意してください。ソケットをI/O完了ポートに関連付けて、イベント全体を完全にスキップする方がはるかに簡単です。

于 2011-06-11T07:08:29.133 に答える