Java socket服务器端如何给指定ip或用户名的客户端发送消息呢?思路其实非常简单,我们只需要在服务器端将每个客户端的socket对象以特定的key(如ip或用户名等)存储在map集合中即可,如下所示:
Socket client = serverSocket.accept(); map.put("someKey", client);
如果我们需要给这个指定的客户端发送消息,只需要通过map集合的key(如ip或用户名等)获取到这个socket客户端对象,然后将信息write发送出去即可:
Socket socket = map.get("someKey"); OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(os); pw.write("欢迎您!"); pw.flush(); os.close();