Hallo,
in meinem folgenden Programmausschnitt soll, nachdem eine Nachricht an einen Server geschickt wird, eine Antwort vom Server entgegen genommen werden, durch eine while-Schleife. Die while-Schleife befindet sich in einer run-Methode.
Zwar könnte ich die Zeichen von ini innerhalb der While-Schleife ausdrucken, aber nach dem verlassen
der Schleife hängt das Programm, d.h. der Befehl "System.out.println("Jetzt kommt " +ini)" wird nicht mehr ausgeführt.
Wenn ich statt der while-Schleife, eine for-Schleife benutze wie z.B.
for(int i=0; i <= 4; i++) {
line = fromServer.readLine();
ini = ini + line + newline;
}
funktioniert das Programm. Jedoch ist diese for-Schleife nicht geeignet, weil ich nicht weiß wie viele Zeilen der Server jedesmal sendet.
Wenn ich stattdessen die for-Schleife wie folgt verwende:
for(line = ""; (line = fromServer.readLine()) != null {
ini = ini + line + newline;
System.out.println(line);
}
werden die Zeilen zwar innerhalb der for-Schleife ausgedruckt, aber nach verlassen der Schleife, hängt das Programm wieder.
Kennt jemand dieses Problem?
in meinem folgenden Programmausschnitt soll, nachdem eine Nachricht an einen Server geschickt wird, eine Antwort vom Server entgegen genommen werden, durch eine while-Schleife. Die while-Schleife befindet sich in einer run-Methode.
Code:
try {
int zahl1 = x;
int zahl2 = y;
toServer.write(("move(x=" +y+";y="+x+")\r\n"));
toServer.flush();
ini = "";
line = "";
while((line = fromServer.readLine()) != null) {
ini = ini + line + newline;
}
System.out.println("Jetzt kommt " +ini);
Zwar könnte ich die Zeichen von ini innerhalb der While-Schleife ausdrucken, aber nach dem verlassen
der Schleife hängt das Programm, d.h. der Befehl "System.out.println("Jetzt kommt " +ini)" wird nicht mehr ausgeführt.
Wenn ich statt der while-Schleife, eine for-Schleife benutze wie z.B.
for(int i=0; i <= 4; i++) {
line = fromServer.readLine();
ini = ini + line + newline;
}
funktioniert das Programm. Jedoch ist diese for-Schleife nicht geeignet, weil ich nicht weiß wie viele Zeilen der Server jedesmal sendet.
Wenn ich stattdessen die for-Schleife wie folgt verwende:
for(line = ""; (line = fromServer.readLine()) != null {
ini = ini + line + newline;
System.out.println(line);
}
werden die Zeilen zwar innerhalb der for-Schleife ausgedruckt, aber nach verlassen der Schleife, hängt das Programm wieder.
Kennt jemand dieses Problem?