4

大学在学中、TCPソケットを使用してJavaで簡単なチャットプログラムを作成するという個人的なプロジェクトがありました。このプロジェクトは教育目的のみでした。

私があまり満足していなかったことの1つは、クライアントがサーバーに接続するためにサーバーのIPを知っている必要があることでした。そのため、ネットワーク上に利用可能なチャットサーバーがあるかどうかをクライアントが検出できると便利だと思いました。

どうすればそのようなメカニズムを実現できますか?あなたが私を正しい方向に向けることができれば、私は感謝するでしょう。:-)

サーバーはある種のブロードキャストを行う必要があると思いますが、これを行う方法がわかりません。

PS:これを行うにはおそらく他の/より良い方法があることは知っていますが、今のところ、クライアントにネットワーク上のサーバーを検出させる方法に特に興味があります。

サーバーとは、Tomcatサーバーではなく、チャットアプリケーションのサーバー側の部分を意味します。

4

3 に答える 3

3

これを行うには多くの方法がありますが、JGroupsを確認することをお勧めします。チャットアプリケーションにとってはやややり過ぎかもしれませんが、マルチキャストの使用はサーバーレスアーキテクチャのような興味深い可能性を提供します。

于 2010-09-21T20:37:47.200 に答える
2

サービスをアナウンスおよび検出するためのメカニズムを提供するZeroConfを見てください。AppleはこれをBonjourという名前で広く使用しています。

jmdnsプロジェクトはJava実装であり、非常にうまく機能します。 http://jmdns.sourceforge.net/

于 2010-09-21T20:36:37.463 に答える
2

ネットワークでマルチキャストが有効になっている場合は、マルチキャストを使用してみてください。

于 2010-09-21T20:44:36.650 に答える