Komischer Fehler Readline()

Droppi

Mitglied
Hallo Leute,

vielleicht habe ich etwas falsch verstanden.
Bin bisher davon ausgegangen, dass die Methode readline() vom Bufferedreader serverseitig solange wartet, bis etwas vom Client gesendet wird.
Ich habe das Problem, dass wenn ich die in eine while Schleife packe, um nacheinander alle Aufrufe zu empfangen (in eigenem Thread), die ununterbrochen null liefert.
Wenn ich das ausgeben lassen, habe ich eine Endlosschleife mit Ausgabe null.

Wie lässt man den Server auf Eingaben warten? - das wird eig. so in Beispielen gezeigt.
Vermutlich kann es nichts damit zu tun haben, dass ich den Client in Javascript programmiere und lediglich ein Java Applet als "Verknüpfung" nutze?

Danke - tu da schon Stunden rum :)
 

Droppi

Mitglied
Ahja... offenbar gibt readLine() null aus, sobald der Stream beendet ist.
Ich bin mir nicht sicher, was da passiert - vom Socket über Inputstreamreader bis hin zum Bufferedreader funktioniert eigentlich alles.
readLine() liest immer genau einen Befehl und liefert dann nur noch null.
Warum auch immer ?!

An der Schleife liegt es nicht - das liegt nur daran, dass readLine() einfach null liefert nach der ersten Übertragung, obwohl der Socket noch vorhanden ist.
Gibts da vielleicht bei Xampp einen Timeout für den Reader?

Ich kann den Quelltext leider nicht rein kopieren, weil sich die Software inzwischen auf 17 Klassen mit jeweils ca. 200 Zeilen Code erstreckt.
 
T

Tomate_Salat

Gast
Wir wollen nicht den kompletten Quelltext sondern nur die relevante Stelle (also die Schleife) ;-)

Wenn das nicht geht musst du warten, bis meine Glaskugel aus der Reparatur kommt (das teil überhitzt immer wieder).
 

Droppi

Mitglied
Naja... wie gesagt: Liegt vermutlich nicht an der Schleife, habe verschiedene aus dem Internet ausprobiert.

Offenbar passiert "Software caused connection abort", obwohl die Verbindung von mir nicht geschlossen wird.
Habe was von TCP Timeout gelesen... kann das daran liegen?

Glaskugeln gibts hier: Wahrsager Hellseher Glaskugel 100 mm: Amazon.de: Drogerie & Körperpflege

So sieht es momentan aus:
Java:
public void run(){
		while(true){
			if(this.nutzer.getvorhanden()==false){this.threadbeenden(); break;}
			this.ok = 0;
			this.reinkommendenachricht = null;
			this.befehlstuecke = null;
			try {
				this.reinkommendenachricht = this.rein1.readLine();
                                //Das müsste doch eigentlich dort oben warten, bis eine Eingabe kommt
				if(this.reinkommendenachricht == null){System.out.println("Der Dreck liefert nur noch null" + this.rein1.ready()); threadbeenden(); return;}
				for(int i=0;i<this.reinkommendenachricht.length();i++){
					if(this.reinkommendenachricht.charAt(i)=='|'){ this.ok = 1; break; }
				}
				if(this.ok==0){ throw new Exception();}
			}
			catch(Exception e){
				continue;
			}
			System.out.println("reinkommende Nachricht: " + this.reinkommendenachricht);
			this.befehlstuecke = this.zerlegen(this.reinkommendenachricht);


usw.........
 
T

Tomate_Salat

Gast
Prinzpiell: readLine liest nur eine Zeile. Normalerweise verwendet man den so:
Java:
while(reader.ready()) {
    doSomethingWithLine(reader.readLine());
}

Ja, ein timeout könnte durchaus eine Möglichkeit sein. Standardmäßig hält der Apache (gehe mal davon aus, da du was von xampp geschrieben hast) die Verbindung nicht ewig offen.
 

Droppi

Mitglied
eigentlisch schon... ich verwende ein Opensource Applet für diese Verbindung. Die wird lediglich aus Javascript gestartet.
Ich arbeite mich mal da durch und untersuche genau, wo das Problem entsteht..
ansonsten melde ich mich nochmal :)

Übrigens vielen Dank! Das ist ja eine super Community, hier arbeiten alle zusammen - werde mich da vielleicht auch mal ein wenig beteiligen :)
Macht ihr das alle hobbymäßig oder habt ihr Informatik studiert bzw. arbeitet in diesem Bereich?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
X Netty TLS Authentifizierung Fehler Netzwerkprogrammierung 1
OnDemand API Aufruf besser steuern, wie Fehler vermeiden Netzwerkprogrammierung 20
V Ich finde den Fehler nicht... Netzwerkprogrammierung 2
A sporadischer Fehler beim Schreiben auf NAS Netzwerkprogrammierung 2
K Socket Netty Client wirft Fehler! Netzwerkprogrammierung 3
F HTTP Website parsen Fehler 403 Netzwerkprogrammierung 2
M Socket Verschlüsselte Kommunikation - Fehler Netzwerkprogrammierung 1
M Wo ist mein Fehler ? o: Netzwerkprogrammierung 4
CookieSoft Fehler bei Socket Netzwerkprogrammierung 4
B RMI & Mysql -> Fehler bei der Compilierung Netzwerkprogrammierung 4
C Fehler bei PDF-Download Netzwerkprogrammierung 5
M ActiveMQ Anfänger-Fehler Netzwerkprogrammierung 3
N Socket Fehler bei Streams Netzwerkprogrammierung 2
F Socket ImageIcon über Socket --> Fehler Netzwerkprogrammierung 14
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
B Socket Daten empfangen funktioniert nicht richtig - wo liegt der Fehler? Netzwerkprogrammierung 7
L NullPointerException...finde den Fehler nicht Netzwerkprogrammierung 10
E einfache Frage: wie Fehler untersuchen mit Tomcat Netzwerkprogrammierung 5
R Fehler bei RMI in Verbidung mit JDBC Netzwerkprogrammierung 6
L RMI Programm beendet ohne Fehler sofort nach Start (Windows 2000) Netzwerkprogrammierung 7
R Server - Client - Fehler? Netzwerkprogrammierung 3
M SOAP Messaging Fehler Netzwerkprogrammierung 10
J RMI Fehler beim Proxy Netzwerkprogrammierung 2
B Fehler 401 bei http GET Netzwerkprogrammierung 2
H RMI Fehler: access denied Netzwerkprogrammierung 10
J Vom BufferedReader lesen -> hängt ohne Fehler,ohne Except Netzwerkprogrammierung 2
C irc client: Fehler 451 Netzwerkprogrammierung 12
G Heimnetzwerkchatprogramm: Fehler im Code Netzwerkprogrammierung 11
X Socket [Anfänger] BufferedReader.readLine() lässt sich Zeit Netzwerkprogrammierung 1
B Socket BufferedReader.readLine() beenden ohne den Stream zu closen Netzwerkprogrammierung 7
A Socket BufferedReader.readLine() blockiert bis ein im Socket OutputStream was gesendet wird ... Netzwerkprogrammierung 9
T Bezeichner "end of line" für die Funktion readline Netzwerkprogrammierung 5
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
0din SMTP Client - readline problem Netzwerkprogrammierung 4
B Multi-Threaded block bei BufferedReader.readLine() Netzwerkprogrammierung 8
G .readLine() blockt? Netzwerkprogrammierung 3
B Socket - Scanner - readLine(); Netzwerkprogrammierung 2
M Socket und readLine() Netzwerkprogrammierung 4
J readline blockiert? Netzwerkprogrammierung 9
P Problem mit readLine ---- und mit dem connecten Netzwerkprogrammierung 10
E Sockets, readLine() Netzwerkprogrammierung 7
S readline-thread stoppt vorzeitig Netzwerkprogrammierung 6
O BufferedReader.readline kommt nicht zurück Netzwerkprogrammierung 7
B BufferedReader.readLine() ließt nicht vollständig ! ? Netzwerkprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben