2

ローカル ネットワークで同じアプリケーションを実行しているホストを検出できるようにする機能をプログラムに実装したいと考えています。これを行うには、プログラムで UDP ソケットを開き、アドレス 224.0.0.1 (IPv4 を使用する場合) または ff02::1 (IPv6 を使用する場合) でマルチキャスト グループに参加します。次に、このネットワークにログインしたことを他のホストに通知します。私の考えによれば、2つの質問があります。

  1. これを行うのは正しい方法ですか、それともより良い解決策がありますか?
  2. ローカル ネットワーク (ホット スポットなど) でマルチキャスト通信を使用する場合の一般的なポリシーは何ですか? 通常は可能ですか、またはほとんどのルーターがマルチキャスト通信をブロックするか、まったくサポートしていませんか?

Linux 用の C++ でアプリケーションを開発しています。将来的には、C# で Windows 用のバージョンを作成するつもりです。

4

1 に答える 1

1

That's usually your best option. The other option would be UDP broadcast, but there's no guarantee of delivery, so you have to broadcast at a regular interval to make sure the other applications hear it.

As far as policy, I just checked my Linksys Wifi access point, and it had multicast disabled by default. I suspect a lot of places run in this default configuration

于 2010-11-22T23:50:08.427 に答える