Hallo,
ich versuche mich gerade an der Kommunikation zwischen einem VB-Programm und einem Java-Programm (siehe auch meine anderen Forumsbeträge).
Realisiert wird dies über eine Socket-Verbindung (VB als Server, Java als Client). Senden funktioniert wie gewünscht. Den Abhörvorgang wollte ich in einen extra Thread auslagern.
Dabei sind mir aber noch etwas unklar. Warum erreiche ich nie das "end". Ich bekomme immer nur den String auf die Konsole, den ich auch sende. Und, bei genauerer Betrachtung hätte ich auch erwartet, dass unabhängig davon, ob
immerzu auf der Konsole "end" ausgegeben wird (wegen der Endlosschleife). Wo ist mein Denkfehler?
Über Anregungen wäre ich sehr dankbar.
viele Grüße
ich versuche mich gerade an der Kommunikation zwischen einem VB-Programm und einem Java-Programm (siehe auch meine anderen Forumsbeträge).
Realisiert wird dies über eine Socket-Verbindung (VB als Server, Java als Client). Senden funktioniert wie gewünscht. Den Abhörvorgang wollte ich in einen extra Thread auslagern.
Java:
listeningThread = new Thread() {
public void run () {
try {
InputStream in = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
int i;
while(true){
while ((i = br.read()) != -1) {
System.out.print((char) i);
}
System.out.println("end");
}
}
catch (IOException ex) {
}
}
};
listeningThread.start();
Dabei sind mir aber noch etwas unklar. Warum erreiche ich nie das "end". Ich bekomme immer nur den String auf die Konsole, den ich auch sende. Und, bei genauerer Betrachtung hätte ich auch erwartet, dass unabhängig davon, ob
Java:
i != -1
immerzu auf der Konsole "end" ausgegeben wird (wegen der Endlosschleife). Wo ist mein Denkfehler?
Über Anregungen wäre ich sehr dankbar.
viele Grüße