4

状況は次のとおりです。複数のクライアントと1つのホストがあります。メッセージのフォーマットとサイズが指定されます。すべてのクライアントが同時にメッセージを送信するとします。つまり、N個のメッセージがホストに送信されます。

私の質問は次のとおりです。ホストは混合メッセージを受信しますか。つまり、ホストはメッセージAの一部を受信し、その後にメッセージBからいくつかのビットを受信しますか。または、メッセージ全体が受信されますか?

ありがとう

4

2 に答える 2

5

UDP データグラムは常に「エンド クライアント」によって全体のデータグラムとして受信されます。つまり、送信者が 10,000 バイトのデータグラムを送信した場合、それは 10,000 バイトとして受信されます (合計 10,000 バイトになる小さなデータグラムの組み合わせではありません)。データグラムがたどるパス (つまり、IP) によって、データグラムが送信中に断片化されることがありますが、受信側の UDP/IP スタックは、アプリケーション プログラムに配信する前にデータグラムを再構築します。

于 2012-04-25T20:09:53.780 に答える
1

ソケットから (たとえば を使用してrecvfrom) データを読み取る場合、その呼び出しから返されるすべてのデータは単一のソースから取得されます。

于 2012-04-25T20:00:53.337 に答える