Как определить закрытие соккета

232
08 октября 2017, 22:39

Есть сервер, слушающий порт и множество клиентов, которые к нему подключаются, что-то делают и потом отключаются

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 даже после падения второй стороны

READ ALSO
Можно ли в jstl использовать переменную javascript?

Можно ли в jstl использовать переменную javascript?

Здравствуйте! Я совсем новичок в java ee, проблема в следующем: в сервлете я передаю атрибут objects, который является коллекциейМне нужно сделать...

277
Eclipse Android.. emulator

Eclipse Android.. emulator

NAND: could not create temp file for system NAND disk image: File exists

285
MongoDB получить имена всех полей

MongoDB получить имена всех полей

есть набор сущностей

246
Закрытие и открытие базы SQlite

Закрытие и открытие базы SQlite

ЗдравствуйтеЕсть приложение, 5 активити, каждая работает с БД

260