Хорошо, у меня есть серверное приложение Java SE, которое принимает соединения на ServerSocket и создает потоки для управления соединениями с клиентами.
В основном протокол выглядит следующим образом: один клиент отправляет запрос, затем другой клиент отправляет запрос,затем сервер обрабатывает оба запроса и дает ответ обоим клиентам (разные ответы).Затем весь процесс повторяется бесконечно (пока сервер не решит завершить сеанс).Соединение сохраняется до конца сеанса.
Итак, каков наилучший метод (или любой другой метод вообще) для обнаружения потерянного соединения (с обеих сторон, сервера и клиента) и восстановления его при необходимости?