Hallo, ich bastel einen Server und Client zusammen. Alles funktioniert in einer geschlossenen Umgebgung, auch ist die erste Server Abfrage immer korrekt, bei der zweiten, oder dritten Abfrage gibt es dann aber falsche Werte, also meistens die Vorherigen. Ich vermute dass ich irgendwas "clearen" muss nach jeder Abfrage. Muss man nach jeder Abfrage den kompletten Socket schließen und auch BufferedReader und PrintWriter?
Code Ausschnitte:
try {
ServerSocket server = new ServerSocket(1560);
System.out.println("Server wartet auf Eingabe..\n");
Socket socket = server.accept();
BufferedReader bufRead = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String temp;
while ((temp = bufRead.readLine()) != null) {
System.out.println("Client schickt:");
PrintWriter printW = new PrintWriter(socket.getOutputStream());
System.out.println(temp);
checkEingabe(temp, socket, printW); // Überprüft Eingabe
System.out.println("\nDie Client Eingabe wurde geprüft.\n");
printW.println("Server hat die Eingabe verarbeitet.\n");
printW.println("!Ende!");
printW.flush();
}
System.out.println("Client vollstaendig empfangen.");
closeProgram(server, socket);
} catch (IOException e) {
System.out.println("Server schlug fehl.");
e.printStackTrace();
}
Code Ausschnitte:
try {
ServerSocket server = new ServerSocket(1560);
System.out.println("Server wartet auf Eingabe..\n");
Socket socket = server.accept();
BufferedReader bufRead = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String temp;
while ((temp = bufRead.readLine()) != null) {
System.out.println("Client schickt:");
PrintWriter printW = new PrintWriter(socket.getOutputStream());
System.out.println(temp);
checkEingabe(temp, socket, printW); // Überprüft Eingabe
System.out.println("\nDie Client Eingabe wurde geprüft.\n");
printW.println("Server hat die Eingabe verarbeitet.\n");
printW.println("!Ende!");
printW.flush();
}
System.out.println("Client vollstaendig empfangen.");
closeProgram(server, socket);
} catch (IOException e) {
System.out.println("Server schlug fehl.");
e.printStackTrace();
}