Wie kann ich eine Nachricht vom Server an einen bestimmten Client senden. Ich habe das Konzept, wie man es macht, wie ich eine Liste aller Klienten machen muss, die an Server angeschlossen werden, und indem ich jeden Klienten iterate, kann ich Nachricht senden, aber ich werde dankbar sein, wenn irgendjemand mir durch Code helfen kann. Ich habe gesucht viele Codes, aber ich habe keine nennenswerte Hilfe von ihnen erhalten Code sollte nicht GUI-basiert sein. Danke im Voraus. Entschuldigung für mein schlechtes Englisch. Dies ist mein Code, in dem Nachrichten an alle Kunden ist senden, aber ich möchte Nachricht an einen Client meiner Wahl senden ipaddress mit Kundensenden Sie eine Nachricht an bestimmte Clients mit 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();
}
Ich habe gerade gesehen, dass Sie dies als separate Frage hinzugefügt haben. Es hängt davon ab, wie Sie den Client identifizieren möchten, den Sie auswählen möchten. Weißt du, wie du das willst? –
Ja Sir, sobald der Client mit dem Server verbunden ist, sendet er seine IP-Adresse und seinen Benutzernamen an den Server und jetzt mit ipdressess möchte ich eine Nachricht an einen bestimmten Client senden. Eine Option, die ich habe, ist, wenn ich die Nachricht an den Client der IP-Adresse senden möchte 192.168.1.1 Dann werde ich die Nachricht und die IP-Adresse an alle Clients senden und dann einfach auf Client-Seite überprüfen, welcher Client diese IPADRESS hat und wenn einer von ihnen diese IPADRESS-Anzeige diese Meldung an ihn haben –
@MICHELMARKIDIS –