Каковы методы для обнаружения, предотвращения и управления ошибками во время соединения TCP в Java? - PullRequest
0 голосов
/ 15 января 2012

Хорошо, у меня есть серверное приложение Java SE, которое принимает соединения на ServerSocket и создает потоки для управления соединениями с клиентами.

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

Итак, каков наилучший метод (или любой другой метод вообще) для обнаружения потерянного соединения (с обеих сторон, сервера и клиента) и восстановления его при необходимости?

1 Ответ

2 голосов
/ 15 января 2012

Используйте какой-нибудь механизм биения, чтобы периодически отправлять небольшой пакет данных с одного конца на другой, а другой конец должен что-то ответить. Если по истечении некоторого времени вы не получите ответ, отсоединитесь и установите оба конца, чтобы попытаться повторно подключиться (или прослушать новое соединение), когда это произойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...