Announcement

Collapse
No announcement yet.

Chat Client

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Chat Client

    Ich habe vor, einen Chat zu schreiben, wobei der Enduser keinen Chatclienten auf seiner lokalen Maschine installieren muss, vergleichbar mit dem Yahoo-Chat. Es sollen aber nur Chatpartner miteinander Chatten können, welche sich geaddet haben, und eine Nachricht soll nur für den jeweiligen Buddy sichtbar sein. Meine Frage ist nun folgende: Ich habe vor dies in JAVA zu schreiben, meine Idee ist die, dass ich eine Serversocket-Klasse programmiere, und diese lauscht dann auf die verschiedenen Clienten, und leitet jeweils die Nachricht an den betreffenden Chatbuddy weiter. Anbei etwas Code um das zu veranschaulichen, was ich vorhabe:

    Code:
    import java.io.*;
    import java.net.*;
    
    public class MainServer{
    	
    static void schreibeNachricht(Socket socket, String nachricht) throws IOException {
    	 	PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
    	 	printWriter.print(nachricht);
    	 	printWriter.flush();
    	 	printWriter.close();
    	    }
    
    public static void main(String[] args){
    
    try
    {
    
    ServerSocket serverSocket = new ServerSocket(87);
    
    while (true) {
    
    Socket clientSocket = serverSocket.accept(); //Der Chatpartner beginnt auf einer UI zu chatten, und diese ist dann der Client, welcher sich zu dem auf dem selben Host (localhost) laufenden Server verbindet.
    
    String nachricht = leseNachricht(clientSocket);//Diese nachricht wird dann über einen Outputstream weitergeleitet an den jeweiligen Chatpartner.
     
    }
    
    
    }catch (Exception e){
    
    	e.printStackTrace();
    
    }
    
    	}
    }
    Ist dies ein gangbarer Weg? Wenn nein, wie soll ich die Sache am besten angehen? Wenn ja, wie ist es möglich zu erreichen, dass die Nachricht an den richtigen Chatpartner verschickt wird?

  • #2
    https://www.google.de/search?q=java+...QBg&gws_rd=ssl Der Server muss sich merken, wer sich angemeldet hat. Und wenn Person A eine Nachricht an B sendet, muss der Server eben die Weiterleitung nur an B vornehmen. Des Weiteren wäer der Serverteil in einem eigenen Thread zu implementieren, der nur die Clients entgegennimmt und verwaltet
    Ein Yahoo-Chat dürfte wohl eine Webanwendung sein.
    Zuletzt editiert von Christian Marquardt; 02.10.2014, 10:25.
    Christian

    Comment

    Working...
    X