![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Perl_sapiens |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 19.2.2008 Репутация: нет Всего: нет |
Доброго времени суток, уважаемые программисты.
Стал знакомится с отличным сетевым framework'ом Netty и начал с разбора примеров, которые прилагаются к документации. И всё вроде как понятно и просто, если бы не одна проблемка. Запустив пример HTTP (File Server) и для эксперемента вырезав из него код, отвечающий за "кэширование" запрашиваемых файлов (NotModified), я зажал в браузере F5. В консоль стали вылетать ошибки такого содержания:
Через дебаггер отметил, что ошибки эти вылезают сразу после попытки записать что-то в канал (ch.write(response);), но при этом все состояния канала (connected, open, bound, readable, writable) находятся в положительном состоянии (true). Как отследить момент, когда соединение было разорвано, что бы зря не пытаться записать что-то в закрытый канал? |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
В сетевых операциях "попытки записать" - это единственный способ установить, что соединение разорвано. Чтобы "зря не пытаться записать" надо хотя бы один раз попытаться, получить отказ, и после этого можно принять решения отказаться от повторных попыток. "Разрыв" означает всего лишь, что послали сигнал, но не получили в ответ подтверждение приема. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |