TCP/IPの順番保証

TCPは順番保証がある。
ので、送った順で受信できる(内部的には後から送ったのが先についている場合もある)。
でも、並列処理の場合はどうなるん?
送信時にシステム時間とかを見てて、複数プロセスから送信した場合でも、複数プロセス全体での送信順で受信できるのかなー?
AプロセスでコネクションHOGEに対して文字列Xをsendして、その直後にrecv処理をしているとする。
一方BプロセスでコネクションHOGEに対して文字列Yをsendして、その直後にrecv処理をしているとする。
サーバプロセスZでは文字列Xを受信したら、文字列XXを返す。
文字列Yを受信したら、文字列YYを返す。
この場合サーバは、受信内容を確認してから、sendすることになる。
sendとrecvって一対一じゃないよな・・・?
サーバ側のsendをクライアントプロセスAとBのどちらが先にrecvするかが謎。
文字列Xを受信した直後にsendしたら、文字列Yはまだサーバでrecvしてないから、プロセスAしかrecvできない?
それともプロセスAとプロセスBの両方に対してsendされちゃう?
むむむ・・・テストプログラム作んないとわかんないなこれは・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です