ObjectInputStream.readObject () не генерирует исключение при отключении - PullRequest
2 голосов
/ 01 мая 2011

Я использую ObjectStream через TCP-соединение для отправки данных с клиента на сервер.Sometimtes клиент завершается, в то время как сервер все еще ждет новых данных.В этих случаях readObject() остается заблокированным без исключения и мои вычисления прекращаются.

Как я могу определить, отключен ли ObjectStream или ожидает только больше данных?

Использование тайм-аута затруднено из-за длительных задержек между сеансами связи.

1 Ответ

1 голос
/ 01 мая 2011

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

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

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