ソケットのパケットは二股に分かれていましたか?

プロセスAとプロセスBがあり、AがTCPクライアント、BがTCPサーバー、AがBに接続していて、Aのソケットのファイル記述子がfd1(A)で、ファイル記述子がBはfd2です。この時点で、プロセスAは、Cという名前の子プロセスをforkし、fd1(C)もfd1(A)と同じファイルテーブルを指しています。 、AまたはCは、メッセージを受け取るでしょうか?メッセージはfd1(A)に配信されますか?またはfd1(C)?またはランダムに?ありがとうございました。

0

1 答え

メッセージは最初に読み取るプロセスに移動します。 Cがビジー状態で read()または recv()を実行すると、Aはデータを取得し、その逆も同様です。 AとCが同時に read()または recv()を実行すると、結果は未定義です。

0
追加された
OK、これは正しい答えだと思います
追加された 著者 wangshuaijie,