1


0

ソケットを読み取るためにReadFileを使用するアプリケーションがあります。 シナリオの1つでは、ReadFileは読み取る2バイトがあると言う呼び出しを受け取りますが、ReadFileがこれを読み込もうとすると、0としてbytesreadを返します。 これは反対側のソケットが閉じられたことを意味しますか? . ReadFileが0バイトを読み取ったときに相手側のソケットが閉じられたことを必ずしも意味しているのでしょうか。 。それともエラーでしょうか。

1 Answer


0


ReadFile()が読み取るべき2バイトがあることを見つけると、同時にこれらの2バイトを読み取り、それらはソケットから削除されます。 送信者がそれ以上データを送信しない場合、次の呼び出しは読むべきものがないことを示します。 エラーが発生したかどうかを判断するには、ReadFile()の戻り値を確認する必要があります。