如何使用java中的套接字从服务器向特定客户机发送字符串消息?

如何使用java中的套接字从服务器向特定客户机发送字符串消息?,java,Java,我想向连接的客户端发送数据,但我只想将消息发送给一个特定的用户。我不知道如何做到这一点。我必须使用客户端的IP地址还是什么?我正在用带套接字的Java编程。您必须跟踪连接到服务器的客户端。最有可能是将客户端ID与键/值集合一起使用(请尝试查找映射)。您需要在某些集合中添加连接 Socket client = serverSocket.accept(); map.put("someKey", client); 当您必须向任何特定客户端发送消息时。只要给地图钥匙就可以从地图上找到他的联系 Sock

我想向连接的客户端发送数据,但我只想将消息发送给一个特定的用户。我不知道如何做到这一点。我必须使用客户端的IP地址还是什么?我正在用带套接字的Java编程。

您必须跟踪连接到服务器的客户端。最有可能是将客户端ID与键/值集合一起使用(请尝试查找映射)。

您需要在某些集合中添加连接

Socket client = serverSocket.accept();
map.put("someKey", client);
当您必须向任何特定客户端发送消息时。只要给地图钥匙就可以从地图上找到他的联系

Socket clnt = map.get("someKey");
//进一步处理


c#
中,可以使用字典代替地图

您是否已经在客户端和服务器之间建立了套接字连接?到目前为止您尝试了什么?请参考并相应地改进您的问题。检查本教程是的,从客户端到服务器,一切都正常工作,但现在我想将数据从服务器发送到客户端,并将数据发送到特定的客户端,例如:ip为192.168.0.2的客户端,我将发送消息,依此类推。我在客户端和服务器之间建立了连接,工作正常,但现在我想将数据从服务器发送到特定的客户端。请确保您的密钥是唯一的,否则它将重写map中已经存在的对象。如果使用“client.getInetAddress().toString()”作为键,这很好。每个客户端都有不同的地址,所以这样做可以避免覆盖。但是你需要跟踪IPs:PSame,你可以把它作为评论放进去