0

複数クライアントのチャット プログラムの作成方法を学ぼうとしています。カスタムネットワーキングに関するOracleチュートリアルに従っていますが、実際には探しているものではありません。これまでのところ、共有できる独自のコードはありません。すべて Oracle チュートリアルからコピーしたものであり、ここに貼り付けることは著作権侵害 (??) になると思います。

リンク: http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html+

クライアント コード リンク: http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/networking/sockets/examples/KnockKnockClient.java

とにかく、サーバーがノックノックジョークを伝え、クライアントが読んで印刷し、ユーザーが返信するなど、サーバークライアントが機能しています。クライアントが他のクライアントと直接話すように編集するにはどうすればよいですか?

申し訳ありませんが、私はネットワーキングのバックグラウンドがまったくありません。誰かが私の目標により適した情報源に私を導くことができれば、私はそれを感謝します.

4

2 に答える 2

0

クライアントからクライアントへの通信を可能にするために、ある種の「プロセス間通信」インフラストラクチャが必要になるため、必要な複雑さのレベルが一段と上がりました (おそらく、サーバーによってマーシャリングされたソケットを介して?)

于 2013-05-21T05:42:08.073 に答える
0

Knock-Knock の例のように、各クライアントはサーバーに接続しますが、相互に直接接続されていません。

転送サーバーを作成するソリューションがあります。各クライアントに id を配置し、クライアントは id を使用して通話相手を識別します。

これを行うには、クライアントからサーバーへのデータ形式を単純な文字列から (String,Id) のようなタプルに変更する必要があります。そして、サーバーがデータを受信すると、ID を解析し、対応するクライアント ソケットを取得してから、データを書き込みます。

于 2013-05-21T03:34:16.263 に答える