BufferedReader.readLine() von anderem Thread aus beenden

Status
Nicht offen für weitere Antworten.

conan2

Aktives Mitglied
Ich bastle gerade an einem One2One-Peer2Peer-Chat-programm und bisher funktioniert alles ganz gut, was die Verbindung betrifft.
Aber jetzt bin ich soweit dass ich dem Benutzer über einen Button die Möglichkeit geben will die Chat-Session zu verlassen. Dazu müsste ich aber dem Thread, der die Nachrichten über BufferedReader.readLine() empfängt irgendwie verklickern dass er nicht mehr zu warten braucht, weil sowieso keine Nachrichten mehr kommen werden.
Die Abbruchbedingung der Schleife ist, dass BufferedReader.readLine() == null ist. So war mein erster Gedanke dem BufferedReader irgendwie ein null-Objekt zu senden, ist das irgendwie möglich oder gibts für dieses Prob eine andere Lösung?
 
B

Beni

Gast
Kannst du nicht einfach den Stream schliessen (die close-Methode aufrufen). Möglicherweise kommt eine Exception geflogen, aber was besser fällt mir gerade nicht ein.
 

conan2

Aktives Mitglied
Hab ich natürlich probiert, aber es hat erst dann die Exception gegeben wie ich dem BufferedReader über telnet noch was geschickt hab, bis dahin war das ganze Programm (nicht nur der Thread mit BufferedReader) eingefroren...
Ich habs jetzt mal notdürftig so gemacht dass ich den Thread ziemlich brutal beende, aber für Anregungen bei diesem Problem wär ich trotzdem dankbar :)
 

foobar

Top Contributor
Beende den Thread doch sauber mit interrupt() und als Abbruchbedingung verwendest du in deinem Thread while (! isInterrrupted()) ...
 

conan2

Aktives Mitglied
Tschuldige, aber ich hab gerade davon gesprochen, dass der Thread während einer Anweisung einfriert und du sagst dass ich eine Abbruchbedingung machen soll.
wenn ich
Code:
while(!isInterrupted()){
  in.readLine();
}
machen würde die Funktion trotzdem bei readLine() feststecken und gar nicht zur Abbruchbedingung hinkommen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K BufferedReader.readLine erkennt Zeilenende nicht Allgemeine Java-Themen 11
A bufferedReader readline, encoding Allgemeine Java-Themen 5
V wie bufferedreader.readline() unterbrechen? Allgemeine Java-Themen 4
D BufferedREader#readLine Allgemeine Java-Themen 20
J BufferedReader br.readLine(); Allgemeine Java-Themen 22
N readLine() von BufferedReader hält das Programm fest/auf! Allgemeine Java-Themen 10
W Socket.setSoTimeout -> BufferedReader -> Default value Allgemeine Java-Themen 4
kodela Unterschiedliches Verhalten von BufferedReader Allgemeine Java-Themen 3
D BufferedReader bricht nach 1248 Iterationen ab Allgemeine Java-Themen 14
C BufferedReader/BufferedWriter schreibt nicht alle Bytes Allgemeine Java-Themen 2
C TCP Server und BufferedReader Leerstring im Stream? Allgemeine Java-Themen 5
A BufferedReader ohne System.in Allgemeine Java-Themen 9
J BufferedReader Datei einlesen Allgemeine Java-Themen 8
Messoras Der BufferedReader mag mich nicht Allgemeine Java-Themen 47
C Threading mit BufferedReader/InputStream & sockets Allgemeine Java-Themen 0
J BufferedReader OutOfMemory umgehen? Allgemeine Java-Themen 10
B Input/Output BufferedReader Allgemeine Java-Themen 3
O BufferedReader von ganz unten anfangen zu lesen Allgemeine Java-Themen 7
S BufferedReader/PrintWriter an einer HTML Allgemeine Java-Themen 6
M BufferedReader: Vom Logfile zur Datenbank Allgemeine Java-Themen 6
S Null Pointer Exception bei BufferedReader Allgemeine Java-Themen 4
D 'InputStreamReader' & 'BufferedReader' führen zu "cannot find symbol"-Fehler Allgemeine Java-Themen 3
D Scanner leer aber bufferedReader nicht?! Allgemeine Java-Themen 2
Developer_X Java BufferedReader mit URL Allgemeine Java-Themen 5
Semox Fehler - Zuweisung aus BufferedReader an Variable Allgemeine Java-Themen 3
S Exception beim BufferedReader Allgemeine Java-Themen 3
G getFilePointer in BufferedReader? Allgemeine Java-Themen 2
D (BufferedReader) inLine() "verschluckt" zeilen ? Allgemeine Java-Themen 2
M BufferedReader.read(char[] cbuf) liefert falsche Werte? Allgemeine Java-Themen 4
W Frage zu BufferedReader Allgemeine Java-Themen 2
K Wie kann ich einen BufferedReader beschleunigen? Allgemeine Java-Themen 4
B while mit BufferedReader beenden Allgemeine Java-Themen 5
F Zu große Werte beim byteweisen Lesen mit BufferedReader.read Allgemeine Java-Themen 5
S BufferedReader problem Allgemeine Java-Themen 11
D BufferedReader in image umwandeln Allgemeine Java-Themen 3
M BufferedReader input - hängt sich auf Allgemeine Java-Themen 4
C Probleme mit URL und BufferedReader Allgemeine Java-Themen 6
C BufferedReader oder DataInputStream Allgemeine Java-Themen 4
M Store a String in a BufferedReader Allgemeine Java-Themen 2
kodela Byte Order Mark (BOM) bei readLine() ignorieren Allgemeine Java-Themen 5
S readLine() liest nur jede 2. Zeile Allgemeine Java-Themen 3
P readLine() liest nur jede dritte Zeile? Allgemeine Java-Themen 3
J RandomAccessFile readLine(); Allgemeine Java-Themen 5
S Stream ReadLine() Allgemeine Frage Allgemeine Java-Themen 5
S readLine oder sowas? Allgemeine Java-Themen 13
R read/readline blockiert Allgemeine Java-Themen 5
I Klassen aus Jar-Dateien aus anderem Ordner laden Allgemeine Java-Themen 3
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
P Methode aus anderem Paket aufrufen Allgemeine Java-Themen 1
Thallius Serialisiertes File kann auf anderem Rechner nicht geladen werden Allgemeine Java-Themen 12
C Datentypen Enum-Werte Bestanteil von anderem Enum Allgemeine Java-Themen 8
C Umgebungsvariable Java-Datei in anderem Verzeichnis ausführen Allgemeine Java-Themen 2
J Anderem Thread Variable mitgeben Allgemeine Java-Themen 2
A Nach Benutzerwechsel mit anderem Account in Windows anmelden Allgemeine Java-Themen 8
S Prozess der von anderem Prozess gestartet wurde beenden? (Windows Bildschirmtastatur) Allgemeine Java-Themen 4
T Externes Programm auf anderem Bildschirm starten Allgemeine Java-Themen 3
T Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 13
J Eclipse Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 14
I EDT scheint zu blocken wegen Dateioperation in anderem Thread Allgemeine Java-Themen 9
Z Mit ActionListener in anderem Frame lauschen? Allgemeine Java-Themen 3
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
R GPL code mixen mit anderem Code? Allgemeine Java-Themen 7
V Class Mapping - Klasse unter anderem Namen verfügbar machen Allgemeine Java-Themen 8
S jar-datei auf anderem Rechner nicht ausführbar. Allgemeine Java-Themen 40
S Deserialisieren mit anderem Klassennamen Allgemeine Java-Themen 5
J Einbinden einer protected-Methode aus anderem Package Allgemeine Java-Themen 2
G Java Programm auf anderem Pc ausführen Allgemeine Java-Themen 4
H .java Dateien in anderem Package Allgemeine Java-Themen 8
H jar-file in anderem main programm ausführen Allgemeine Java-Themen 2
G Link zu JCreator oder anderem Tool Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben