Socket Probleme beim Lesen und Schreiben aus/in einen Socket

cable545

Aktives Mitglied
hallo,
ich habe ein Problem bei beim Schreiben und Lesen über eine socket Verbindung. Ich habe einen "Server" welcher auf Anfragen von Clienten wartet. Wenn eine Anfrage von einem Client kommt, übergebe ich das von accept() zurückgegebene Socket Objekt an einen neuen Thread. In der run() methode läuft dann folgendes

Java:
//Serverthread

public void run() {
   try {
      PrintWriter writer = new PrintWriter(socket.getOutputStream());
      while(true) {
         
         System.out.print("Eingabe: "); 
         InputStreamReader isr = new InputStreamReader(System.in);
         BufferedReader br = new BufferedReader(isr);
         String input = br.readLine();
         
         writer.println("Nachricht vom Server: " + input);
         
      } 
   } catch (IOException e) {
      e.printStackTrace();
   }
}

auf der Seite des Clienten läuft das hier

Java:
public void test() throws IOException {
      
   String nachricht;
   InputStreamReader streamReader = new InputStreamReader(socket.getInputStream());
   BufferedReader reader = new BufferedReader( streamReader );
   
   while(true) {
      nachricht = reader.readLine();
      System.out.println(nachricht);
   }
}

Die Methode Test soll eigentlich Zeilenweise aus dem Stream lesen welcher mit dem Socket verbunden ist. Aber irgendwie kommt auf der Seite nichts an. Hat jemand einen Tipp für mich?
 
musst du den Server kompliziert mit System.in testen? sende doch einen Dummy-String,

der Fehler dürfte sein dass die Ausgabe an den Socket gecacht wird, verwende flush()
 

Zurück
Oben