状況は次のとおりです。複数のクライアントと1つのホストがあります。メッセージのフォーマットとサイズが指定されます。すべてのクライアントが同時にメッセージを送信するとします。つまり、N個のメッセージがホストに送信されます。
私の質問は次のとおりです。ホストは混合メッセージを受信しますか。つまり、ホストはメッセージAの一部を受信し、その後にメッセージBからいくつかのビットを受信しますか。または、メッセージ全体が受信されますか?
ありがとう
状況は次のとおりです。複数のクライアントと1つのホストがあります。メッセージのフォーマットとサイズが指定されます。すべてのクライアントが同時にメッセージを送信するとします。つまり、N個のメッセージがホストに送信されます。
私の質問は次のとおりです。ホストは混合メッセージを受信しますか。つまり、ホストはメッセージAの一部を受信し、その後にメッセージBからいくつかのビットを受信しますか。または、メッセージ全体が受信されますか?
ありがとう
UDP データグラムは常に「エンド クライアント」によって全体のデータグラムとして受信されます。つまり、送信者が 10,000 バイトのデータグラムを送信した場合、それは 10,000 バイトとして受信されます (合計 10,000 バイトになる小さなデータグラムの組み合わせではありません)。データグラムがたどるパス (つまり、IP) によって、データグラムが送信中に断片化されることがありますが、受信側の UDP/IP スタックは、アプリケーション プログラムに配信する前にデータグラムを再構築します。
ソケットから (たとえば を使用してrecvfrom
) データを読み取る場合、その呼び出しから返されるすべてのデータは単一のソースから取得されます。