2

MulticastSocket を使用して UDP マルチキャスト パケットを受信して​​います。そのようなパケットが送信されたアドレスを特定するにはどうすればよいですか? 提供された方法では、送信者のアドレスしか特定できません。

もちろん、リッスン ソケットを作成するときに To-Address を設定するのは私ですが、これについて本当に確信が持てますか? ブロードキャスト パケットはどうですか。どういうわけかここで終わるパケットはどうですか? パケットが本当にマルチキャストであったかどうかを本当に区別したい.

ありがとうございました!

更新: 現在、そのポートに送信されたばかりのユニキャスト パケットも、マルチキャスト ソケット receive() で終了するようです :( デバイスへのバインドでも、より良い結果は得られません

4

1 に答える 1

2

詳細については少しあいまいですが、マルチキャスト パケットは、サブスクライブした IP/ポート コンボに送信されます (この情報は、パケットのどこかに含まれます)。マルチキャストを理解する。マルチキャスト ソケットが正しいネットワーク インターフェースから受信していることを確認したい場合は、それを特定のインターフェースにバインドする関数がたくさんあります。

パケットが「本当に」マルチキャストであったかどうかを知る方法はないと思います。つまり、実際のセキュリティが組み込まれていないため、誰かがいつでもマルチキャストを偽造できる.

于 2008-11-07T12:22:55.560 に答える