我如何从服务器向特定客户端发送消息?我知道如何做,例如我必须列出所有连接到服务器的客户端,然后通过迭代每个客户端来发送消息,但如果有人能帮我编写代码,我将不胜感激。我已经查找了许多代码,但没有得到实质性的帮助。代码不应该基于GUI。提前致谢,对我的糟糕英语表示抱歉。
这是我向所有客户端发送消息的代码,但我想使用客户端的IP地址向选择的客户端发送消息。
这是我向所有客户端发送消息的代码,但我想使用客户端的IP地址向选择的客户端发送消息。
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();
}