2011-01-16 2 views
1

お互いに通信する2つのソケットがあり、1つはブロックされたI/Oを使用し、もう1つはブロックされていないI/Oを使用している可能性がありますか?非ブロッキングサーバーとブロックされたI/Oクライアントが通信することは可能ですか?

+2

相手側がブロックしているかどうかを判断する方法はありません。彼らは反対側から同じように行動し、交換可能です。 –

答えて

3

これは確かに可能です。ソケットがブロッキングか非ブロッキングかは、アプリケーション層の懸念事項ですが、データがコンピュータ間でどのように転送されるかは、ネットワークスタックの下位層の仕事です。したがって、ブロッキングソケットを使用している場合、基盤となるトランスポートメカニズムはこれを知らず、受信アプリケーションがブロッキングソケットまたは非ブロッキングソケットを使用しているかどうかを気にせずに、他のマシンに適したデータを送受信できます。

関連する問題