2016-04-23 14 views
0

Ich habe 3 Clients über Server mit Sockets verbunden. Kann mir jemand helfen, das Konzept zu verstehen, wie ich die Nachricht speziell an Client 1 senden kann, ohne diese Nachricht an Client 2 oder Client 3 zu senden oder wie kann ich die Nachricht an Client 2 senden, ohne diese Nachricht an Client 1 und Client zu senden 3. Sorry für mein schlechtes Englisch.Senden Sie eine Nachricht an bestimmte Client mit Sockets

+0

wo ist Ihr Code? Was hast du bisher versucht? – Priyamal

+0

ich bekomme nicht, wie man es macht, deshalb habe ich um Hilfe gebeten @Priyamal –

+0

http://Stackoverflow.com/questions/36801859/simple-java-chat-server-that-only-broadcasts-to-other-clients- nicht-sender/36802370 # 36802370 das gleiche wurde von mir beantwortet, in der antwort theres die erklärung kann man auf dieses beziehen: D – Priyamal

Antwort

0

Um eine Nachricht an einen Client benötigen Sie senden den Ausgangsstrom der Steckdose zu bekommen, so dass Sie Daten zu diesem Strom zum Beispiel schreiben könnte man so etwas tun könnte: -

public Boolean writeMessage(String Command) 
{ 
    try 
    { 
     byte[] message = Command.getBytes(Charset.forName("UTF-8")); // convert String to bytes 
     DataOutputStream outStream = new DataOutputStream(socket.getOutputStream()); 
     outStream.writeInt(message.length); // write length of the message 
     outStream.write(message); // write the bytes 
     return true; 
    } 
    catch (IOException e) 
    { 
    } 
    return false; 
} 

Zum Lesen der Nachricht am anderen Ende der Buchsen input erhalten und Daten von ihm wie folgt lauten: -

public String readMessage() 
{ 
    try 
    { 
     DataInputStream dIn = new DataInputStream(socket.getInputStream()); 

     int length = dIn.readInt(); // read length of incoming message 
     if (length > 0) 
     { 
      byte[] message = new byte[length]; 
      dIn.readFully(message, 0, message.length); // read the message 
      return new String(message, Charset.forName("UTF-8")); 
     } 
    } 
    catch (IOException e) 
    { 
    } 
    return ""; 
} 

die Steckdose, die Sie schreiben, müssen Sie den Client, die Sie senden müssen muss die Nachricht an, außerdem der Kunde bereit sein, Lesen Sie diese Nachricht zu dieser Zeit, hier ist ein grundlegender Client Server pr ogram Connect multiple clients to one server

Verwandte Themen