Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Работа с сетью > Netty: отслеживание разрыва связи |
Автор: Perl_sapiens 16.9.2012, 14:07 | ||
Доброго времени суток, уважаемые программисты. Стал знакомится с отличным сетевым framework'ом https://netty.io/ и начал с разбора https://netty.io/Documentation/WebHome, которые прилагаются к документации. И всё вроде как понятно и просто, если бы не одна проблемка. Запустив пример http://static.netty.io/3.5/xref/org/jboss/netty/example/http/file/package-summary.html и для эксперемента вырезав из него код, отвечающий за "кэширование" запрашиваемых файлов (NotModified), я зажал в браузере F5. В консоль стали вылетать ошибки такого содержания:
Через дебаггер отметил, что ошибки эти вылезают сразу после попытки записать что-то в канал (ch.write(response);), но при этом все состояния канала (connected, open, bound, readable, writable) находятся в положительном состоянии (true). Как отследить момент, когда соединение было разорвано, что бы зря не пытаться записать что-то в закрытый канал? |
Автор: COVD 16.9.2012, 14:50 | ||
В сетевых операциях "попытки записать" - это единственный способ установить, что соединение разорвано. Чтобы "зря не пытаться записать" надо хотя бы один раз попытаться, получить отказ, и после этого можно принять решения отказаться от повторных попыток. "Разрыв" означает всего лишь, что послали сигнал, но не получили в ответ подтверждение приема. |