Итак, у меня есть класс потока под названием «Клиент» каждый раз, когда сервер принимает соединение, он создает нового клиента .... Метод run прослушивает сообщения от клиента, и я использую ObjectInputStream ..
do {
ObjectInputStream in = null;
try {
in = new ObjectInputStream(socket.getInputStream());
String message = (String) in.readObject();
System.out.println(message);
}
catch (ClassNotFoundException ex) {
isConnected = false;
System.out.println("Progoramming Error");
}
catch (IOException ex) {
isConnected = false;
System.out.println("Server ShutDown");
System.exit(0);
}
} while(isConnected);
Моя проблема заключается в том, почему мне нужно создавать новый ObjectInputStream каждый раз, когда он зацикливается ... и если я закрою входной поток в конце цикла, и он снова зациклится для другого сообщения, я получу ошибку ... Пожалуйста, помогите кому-нибудь
isConnected()
не является допустимым тестом для активного соединения. Соединение установлено до тех пор, пока вы не прочитаете конец потока или не появитсяIOException
, отличный отSocketTimeoutException
. - person user207421   schedule 25.01.2016