Как отправить сообщение от сервера любому конкретному клиенту. У меня есть концепция, как это сделать, как будто я должен составить список всех клиентов, подключенных к серверу, а затем, итерируя каждого клиента, я могу отправить сообщение, но я буду благодарен, если кто-нибудь может мне помочь по коду. Я искал многие коды, но я не получал от них никакой значительной помощи. Кодекс не должен быть основан на графическом интерфейсе. Спасибо заранее. Прошу прощения за мой плохой английский. Это мой код, в котором будет отправлено сообщение всем клиентам, но я хочу, чтобы отправить сообщение клиенту по своему выбору с помощью клиентов IPAddressотправить сообщение конкретным клиентам с помощью 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 –