Cześć.
Mam taki problem. W metodzie run uruchamiam metodę która otwiera mi strumienie.
public boolean openCommunication(){
//inicjalizacja strumieni
try{
brinp = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new DataOutputStream(socket.getOutputStream());
}
catch(IOException e){
server.serverGui.insertText(threadName + "| Błąd przy tworzeniu strumieni " + e);
server.removeThread(this);
return false;
}
return true;
}
Teraz wywołuję metodę która zwraca mi odczytany nick gracza (w metodzie run):
public String setThreadPlayerName(){
String nick = null;
Boolean next = true;
try {
nick = brinp.readLine();
} catch (IOException e) {
server.serverGui.insertText(threadName + "| Błąd wejścia-wyjścia." + e);
server.removeThread(this);
next = false;
}
if(next){
if(nick.contains("Nick")){
nick = nick.replace("Nick","");
}
}
return nick;
}
Następnie w metodzie run w niekończącej się pętli while chcę odczytywać wiadomości od użytkownika ale ponowne wywołanie metody readLine() zawiesza mi cały program. Czemu? i jak temu zaradzić. Próbowałem zamykać strumienie i otwierać je na nowo ale cały czas dostaję wyjątki.