02/05/09 14:49
>>168
受信側の読み取り速度が遅い場合、
UDPなら受信側のバッファがいっぱいになり次第、データは問答無用で捨てられる。
TCPならデータは捨てられない。(もちろんIPレイヤーではドロップ、再送信は起こってるが)
で、TCPで受信側が受信しきれない場合はどうなるかというと、
TCPの送信制御によって送信側がデータを送れない状態になる。
具体的にいえば、送信側で
・ソケットに対しての書き込みがエラーになる
・ソケットに対しての書き込み処理が、そのデータをすべて送信し終えるまで
(受信側がすべて読み取るまで)終わらない(実行がストップする)。
のどちらかの事が起こる。(どちらが起こるかはソケットの非同期書き込み設定による)
こんなんでわかるかな?