Обнаружение сломанной розетки - PullRequest
0 голосов
/ 14 декабря 2011

Я работаю с TCP IP Socket.

Является ли ЭТОМ самым простым способом обнаружить разрыв подключения клиентского сокета?

Я был бы удивлен, если бы не было API Java, который обнаруживает мертвый клиент и выбрасываетисключение.Это должно быть возможно, по крайней мере, когда сервер пытается отправить пакет клиенту из-за отсутствия ответа ACK.

1 Ответ

2 голосов
/ 14 декабря 2011

Протокол TCP не поддерживает быстрые средства обнаружения разорванного соединения.

Этот вопрос (и все его ответы) полностью объясняет проблему: Имеет ли соединение сокета TCP "keep alive"?

Так что в основном да, это самый простой способ. Вам необходимо внедрить пакеты пинг-понга (также известный как пакет HearBeat) в протокол приложения, чтобы правильно проверить разорванное соединение.

...