0

VC++ 2010 と Windows 7 を使用しています。

UDP ソースが 2 つあり、レシーバーが 1 つしかありません。source1 が 1, 3 , 5 を送信し、source2 が 2, 4, 6 を送信するとします。同じ関数で 1,2,3,4,5,6 を受信したいと考えています (桁の順序は関係ありません)。これまでは、2 つの異なるポートでリッスンする 2 つのソケットを作成してデータを受信し、それらを結合していました。

単一のソケット インスタンスを使用して、複数のソースから UDP トラフィックを受信するにはどうすればよいですか?

4

1 に答える 1

4

レシーバー側で単一のソケットを作成し、それをポートにバインドします。次に、両方の送信者が宛先アドレスの呼び出しでこのポートを指定するようにしますsendto。これでうまくいくはずです。

UDP を操作する際に覚えておくべきことがいくつかあります。データグラムが到着する順序は指定されていません。いずれかのデータグラムが配信されていないかどうかもわかりません。さらに、重複したデータグラムを数回取得することさえあります。

于 2012-12-26T15:36:22.590 に答える