1

closesocket を呼び出すと、WSARecvFrom の完了ルーチン (その時点で着信データを待機する) が dwError=0 および cbTransferred=garbage でトリガーされていることに気付きましたが、そのソケットに保留中の着信データはありません。

ソケットを閉じたときに呼び出されないようにする方法はありますか? closesocket の前に shutdown を呼び出そうとしましたが、役に立ちませんでした。

4

1 に答える 1

1

WSARecvFrom() 自体はどのような値を返しますか? 私自身は WSARecvFrom() を使用したことはありませんが、MSDN では dwError は完了ステータスであると述べているため、0 は実際のエラーまたはデータがないことを意味すると想像できます。

また、closesocket() を呼び出す前に CancelIo() を呼び出していますか?

于 2009-06-04T00:01:22.197 に答える