Я пытаюсь справиться с клиентскими отключениями в простом Java-приложении, которое отправляет сообщения чата с использованием клиента и сервера.
Вот проблема
public void run() {
try {
System.out.println("Client Connected");
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
theServer.handle(inputLine, this);
}
out.close();
in.close();
socket.close();
System.out.println("Client Disconnected");
} catch (Exception e) {
e.printStackTrace();
}
}
С этим кодом здесь:он запускает цикл while, пока строка ввода не равна нулю.Если он равен нулю, он прекратит зацикливание и закроет входящие и исходящие потоки, а также сокет.Теперь все работает нормально, кроме вывода в консоли:
Client Connected
null
Client(/127.0.0.1): null
null
Client(/127.0.0.1): null
null
Client(/127.0.0.1): null
null
Client(/127.0.0.1): null
Client Disconnected
Я не могу понять, почему цикл продолжит работать, даже если вход равен нулю !!Кажется, что требуется некоторое время, чтобы понять, что он нулевой, прежде чем выйти из цикла.Мне нужно, чтобы он сразу же вышел без задержки.
Любая помощь будет признательна,
shadrxninga