どのようにサーバーから特定のクライアントにメッセージを送信できますか?私はそれを行う方法の概念を持っているように私はすべてのクライアントのリストをサーバーに接続し、次に各クライアントを反復することによってメッセージを送信できるようにしなければならないが、いずれかがコードによって私を助けることができれば感謝するだろう。多くのコードが、私はそれらからかなりの助けを得ていないコードはGUIベースではありません。事前に感謝します。私の悪い英語のために申し訳ありません。 このメッセージはすべてのクライアントに送信されている私のコードですが、私はあなたがあなたがクライアントを検索する方法との間の関係を保存することができ、クライアントのIPアドレスのJavaを使用して特定のクライアントにメッセージを送信
Map<Integer, java.net.Socket> clients = new HashMap<Integer, java.net.Socket>();
socket = serverSocket.accept();
// Add the socket to a HashMap
clients.put(socket.getPort(), socket);
for (Iterator<Integer> iter = clients.keySet().iterator(); iter.hasNext();)
{
int key = iter.next();
java.net.Socket client = clients.get(key);
// Sending the response back to the client.
// Note: Ideally you want all these in a try/catch/finally block
OutputStream os = client.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("Some message");
bw.flush();
}
私はこれを別の質問として追加しました。それは、あなたが選別したいクライアントをどのように識別したいかによって異なります。どのようにしたいのか分かりますか? –
はいクライアントがサーバーに接続すると直ちにサーバーに自分のipadressとユーザー名を送信し、現在はipadressessを使用しています。特定のクライアントにメッセージを送信したい場合は、ipaddressのクライアントにメッセージを送信する場合192.168.1.1次にすべてのクライアントにメッセージとipaddressを送信し、クライアント側でそのクライアントがそのipadressを持っているかどうかを確認してください。もしipadressがそのメッセージを表示していれば –
@MichaelMarkidis –