2

別のマシンから送信されたマルチキャストデータを受信するためにstructsockaddr_inを使用しています。inet_ntopを使用して送信元アドレスを印刷すると、データを送信したPCの送信元アドレスが表示されます。

データが「送信された」マルチキャストアドレスを取得する方法があるかどうか知りたいですか?

4

1 に答える 1

1

受信ソケットでオプション(を参照)setsockopt(2)を設定するために使用します。次に、を使用して着信データグラムを収集します。引数のandフィールドは、データグラムの宛先アドレスをキャプチャできるバッファを参照します。IP_PKTINFOip(7)recvmsg(2)msg_controlmsg_controllenmsg

Linux以外のシステムは、IP_RECVDSTADDR代わりにBSDオプションを介してこの機能を提供する場合があります。

于 2012-04-22T00:27:59.060 に答える