2016-10-28 26 views
0

パケットを送信して再送信を開始すると、send関数から出るのですか? 私のケースでは、私のアプリケーションはロックを取って、sendが戻るのを待ってからロックを去ります。TCPはファンクション再送信ロジックを送信しますか?

私のシナリオでは、それは戻って来なかった。私は再送信のケースがあるときに実際に送信機能から出てくるのか知りたいのですか?

答えて

2

send関数は、ソケットの送信バッファにデータを転送し、十分な空きがないときにブロックします。

確認時にデータがソケット送信バッファから削除されます。

再送信は、ピアに送信されたデータが適切なタイムアウト間隔内に確認応答されなかった場合に開始されます。

再送信とsend()機能との間の相互作用は、基本的には次のような機能で構成されています。データが確認応答されていない場合でも送信バッファに残り、send()機能をブロックする可能性があります。

関連する問題