Есть сервер, слушающий порт и множество клиентов, которые к нему подключаются, что-то делают и потом отключаются
public class Server
{
public static void main(String[] args) throws Exception
{
ServerSocket serverSocket = new ServerSocket(8888);
while (true)
{
Socket socket = serverSocket.accept();
// Какая-то работа
}
}
}
public class Client
{
public static void main(String[] args) throws Exception
{
Socket socket = new Socket("localhost", 8888);
// Какая-то работа
}
}
Как узнать, закрылся соккет или нет (в том числе и не штатно)? Например, хочется отловить ситуацию, когда падает один из клиентов, чтобы корректно ее обработать.
Метод isClosed() возвращает false даже после падения второй стороны
Сборка персонального компьютера от Artline: умный выбор для современных пользователей