2011-01-25 12 views
1

私は自分のネットワークといくつかのCクライアントで動作しているDP(データプロセッサ、Javaコード)を持っています。クライアントは、データ交換のためにDPと通信する必要があります。ブロードキャスト検出を使用してDPを検出する必要があります。クライアントは、DPが可用性を聴いて応答するメッセージをブロードキャストします。私はブロードキャストメッセージのJavaでリスナーを追加する方法がわからない、私はDatagramSocketを使ってみたが、ポート番号を尋ねる? DPは、任意のポートで受信したブロードキャストメッセージを待機する必要があります。Javaを使用したブロードキャストリスナー?

+0

これを確認してください。http://download.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html – Cratylus

答えて

1

クライアントがICMPのようなものを使用していない限り、ポートも必要です。通常のTCP/IPスタックでは、ブロードキャストとマルチキャストはUDPで実行されます(つまり、Javaの場合はDatagramSocketとなります)。したがって、ポート番号が必要です。あなたが好きなポートを選択し、柔軟にして、サーバーとクライアントの両方の設定オプションを提供するだけです。

もちろん、DNS SRV records,multicast DNS/Bonjour、カスタムIPプロトコルなどの他のオプションもありますが、それは対処するのがはるかに難しいです。

関連する問題