Hallo
ich schreibe ein Programm(zwei Teile, Server und Client), das Befehle überträgt. Auf dem Server läuft ein Thread, der auf die Anfrage eines Clients wartet und falls eine Anfrage kommt den Status des Servers sendet, das Socket schließt und von neuem auf eine Anfrage wartet. Wenn dem Client gemeldet wird, dass der Server verfügbar ist, wird eine Verbindung auf einem anderen Port aufgebaut(zum eigentlichen Server). Der Server sendet:
"Welcome
your password is required".
Der Client liest diesen Text, gibt ihn aus und liest über System.in das Passwort ein, das dann abgeschickt werden soll. Währenddessen fängt der Server an zu lesen(aus einem BufferedReader(InputStreamReader(socket.getInputStream()))), um das Passwort zu erhalten. Wenn das Programm nicht schon vorher aus irgendeinem ungeklärten Grund abgestürzt war
, dann wurde es durch den read-Aufruf (oder auch readLine) einfach beendet. Alle nachfolgenden Anweisungen wurden nicht ausgeführt, der Client wurde nicht über das Beenden informiert, es kam gar keine Meldung, keine Exception wurde abgefangen. Der Client hat manchmal eine SocketException("Connection reset") angezeigt.
[JAVA=63] System.out.println("gonna read password");
char[] buffer = new char[bufferLength];
System.out.println("buffer created");
int char_count = 0;
System.out.println("cc created");
try {
char_count = in.read(buffer, 0, bufferLength);
} catch(Exception e) {
System.out.println("Fehler beim Lesen!");
e.printStackTrace();
}
System.out.println("buffer filled");
String pw = new String(buffer, 0, char_count);
System.out.println("string created");[/code]
Ich habe keine Ahnung woher der Fehler kommt oder wie ich das erfahren kann. Ich habe Google und die Forensuche hier gefragt, den Quelltext immer wieder geändert und neu probiert aber...:-(
mfg Bleistift
ich schreibe ein Programm(zwei Teile, Server und Client), das Befehle überträgt. Auf dem Server läuft ein Thread, der auf die Anfrage eines Clients wartet und falls eine Anfrage kommt den Status des Servers sendet, das Socket schließt und von neuem auf eine Anfrage wartet. Wenn dem Client gemeldet wird, dass der Server verfügbar ist, wird eine Verbindung auf einem anderen Port aufgebaut(zum eigentlichen Server). Der Server sendet:
"Welcome
your password is required".
Der Client liest diesen Text, gibt ihn aus und liest über System.in das Passwort ein, das dann abgeschickt werden soll. Währenddessen fängt der Server an zu lesen(aus einem BufferedReader(InputStreamReader(socket.getInputStream()))), um das Passwort zu erhalten. Wenn das Programm nicht schon vorher aus irgendeinem ungeklärten Grund abgestürzt war
[JAVA=63] System.out.println("gonna read password");
char[] buffer = new char[bufferLength];
System.out.println("buffer created");
int char_count = 0;
System.out.println("cc created");
try {
char_count = in.read(buffer, 0, bufferLength);
} catch(Exception e) {
System.out.println("Fehler beim Lesen!");
e.printStackTrace();
}
System.out.println("buffer filled");
String pw = new String(buffer, 0, char_count);
System.out.println("string created");[/code]
Ich habe keine Ahnung woher der Fehler kommt oder wie ich das erfahren kann. Ich habe Google und die Forensuche hier gefragt, den Quelltext immer wieder geändert und neu probiert aber...:-(
mfg Bleistift