Das hier ist die Aufgabenstellung:
- a) Schreiben Sie einen TCP Server, der wiederholt Textzeilen von einem Client empfangen kann. Der Server sendet dem Client nach jeder empfangenen Zeile ein OK zurück.
- b) Schreiben Sie einen TCP Client, der wiederholt von der Standardeingabe Textzeilen liest und diese an den Server aus Aufgabenteil a) sendet.
Code:import java.net.ServerSocket; import java.net.Socket; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; public class server { public static void main(String[]args) { try(ServerSocket ss = new ServerSocket(5554);) { while(true) { try(Socket connection = ss.accept(); OutputStream os = connection.getOutputStream(); InputStream is = connection.getInputStream(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os)); BufferedReader br = new BufferedReader(new InputStreamReader(is));) { String zeile = br.readLine(); bw.write("OK"); bw.flush(); } catch(IOException e) { e.printStackTrace(); } } } catch(IOException e) { e.printStackTrace(); } } }Wenn ich jetzt den Server und den Client starte wir mir in der Konsole "Gebe etwas ein" angezeigt, dann kann ich so oft wie ich will etwas eingeben, es passiert aber sonst garnichts. Warum wird denn nicht "OK" ausgegeben ? Ich hab da das totale VerständnisproblemCode:import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import java.io.OutputStream; import java.io.InputStream; import java.io.BufferedWriter; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class client { public static void main(String [] args) { try(Socket connection = new Socket("localhost",5554);) { Scanner s = new Scanner(System.in); while(true) { try(OutputStream os = connection.getOutputStream(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));) { while(true) { System.out.println("Gebe etwas ein"); String x = s.next(); bw.write(x); System.out.println(br.readLine()); } } catch(IOException e) { e.printStackTrace(); } } } catch(IOException e) { e.printStackTrace(); } } }