私は1つのサーバーとスレッドを介して複数のクライアントです。クライアントは、メッセージをサーバーに送信します。私はエコーシステムのようにサーバがクライアントにメッセージを送り返す方法を考案しました。私は2つのクライアントを持っている場合、私は彼らが彼らのメッセージをサーバーに送信し、サーバーは、メッセージを送信しなかったクライアント、すなわち他のクライアントにそれを送信する必要があります。メッセージを送信したクライアント以外のすべてのクライアントにメッセージを送り返すにはどうすればいいですか?Javaソケット、サーバーは複数のクライアントにメッセージを送信します
0
A
答えて
0
メッセージが到着したら、着信メッセージが関連付けられているユーザーID /その他の識別IDを判別します。メッセージを送信したIDに関連付けられたSocketを除外します。
0
新しいメッセージが受信されるたびにサーバ側ですべてのクライアントのリストを作成します。 リストを作成し、ソケットのポートをIDとして使用してmsgを送信してください。
0
私は最近チャットプログラムも書いています。私がしたのは、個々のクライアントごとに接続を処理するクラスClientHandler
がありました。
内側ClientHandler
私はHashMap
でした。 に接続していたクライアントをKey
と追加しました。client id
です。 client id
にはint
ではなくUUID
を使用しました。
このハンドラクラスの中には、sendMessage(String str)
メソッドがありました。この方法では、各ClientHandler
オブジェクトをループするfor-each
ループがあり、HashMap
内のvalues
をチェックします。このfor-each
ループ内にはthis
というIDを持つClientHandler
オブジェクトに書き込みを行っているかどうかを確認する文がif
です。検査でfalse
が返された場合は、PrintWriter
にメッセージを書き込んで、はメッセージを書き込むクライアントにを送信しません。
私はになりました。 のために働かないかもしれません。
関連する問題
- 1. ソケット:複数のクライアントにメッセージを送信
- 2. クライアントがサーバーにメッセージを送信できませんJavaソケット
- 3. サーバーから複数のクライアントにメッセージを送信する
- 4. 複数のオブジェクトを同じサーバーに送信するJavaソケット
- 5. Javaはソケット経由で複数のメッセージを送受信します
- 6. ソケットC++サーバー/ Javaクライアント経由でintを送信する方法
- 7. Apache Mina UDPサーバーはクライアントにメッセージを送信します
- 8. サーバーからwebsocketクライアントにメッセージを送信
- 9. Java ActiveMQ:クライアントからサーバーにメッセージを送信する方法
- 10. Java TCPサーバーは複数のクライアントからのメッセージを受信できません
- 11. ソケット経由でクライアントからサーバーへ複数の変数を送信
- 12. socket.ioクライアントは、サーバーにメッセージを送信しません
- 13. AndroidクライアントからJavaサーバーにメッセージを送信
- 14. Java:ソケットを使用してクライアントからサーバーに複数の画像ファイルを送信
- 15. ejabberdサーバーから複数のクライアントにメッセージを送信する方法
- 16. Javaソケットはメッセージを1つだけ送信します
- 17. Javaクライアント/サーバ - ソケット接続を介して複数の文字列を送信
- 18. クライアント - サーバー接続/通信(javaソケット)
- 19. ソケットを介してサーバーにファイルを送信するクライアント
- 20. ソケット経由で複数のメッセージを送信できません
- 21. メッセージは送信しません:Cソケット
- 22. C/C++のソケットで複数のメッセージを送信する
- 23. SignalRはランダムな数のクライアントにメッセージを送信します
- 24. サーバーがソケットを介してデータを送信していますが、クライアントが受信していません(Java)
- 25. ファイルを送信するサーバーとクライアントJava
- 26. Java - TCP/IP - サーバーはクライアントにメッセージを返信できません。
- 27. ソケット複数クライアントの1つのサーバー
- 28. ソケット送信(2) - サーバーからクライアントにエラーメッセージを送信する方法
- 29. NetworkTransport:サーバーとクライアントに複数のデータを送信する
- 30. Javaソケット:1つのサーバーと複数のクライアント