История изменений
Исправление
gh0stwizard,
(текущая версия)
:
2) О проблемах на канальном уровне всегда сообщает железка. ОС тут ни при чем. В контексте Ethernet, если разрыв будет совсем близко к хосту - сразу выкинет ошибку. Если разрыв между маршутизаторами, то соединения будут висеть у обоих сторон до тех пор пока маршутизатор не вернет ответ в духе host unreachable. Чтобы словить этот момент раньше отправки данных или перед их получением был придуман keep-alive. Без последнего сокет работает по таймаутам: RTO (rfc 793 параграф 3.7) и пользовательские таймауты.
Ссылки:
http://www.faqs.org/docs/iptables/tcpconnections.html
http://www.serverframework.com/asynchronousevents/2011/01/time-wait-and-its-d...
Исходная версия
gh0stwizard,
:
2) О проблемах на канальном уровне всегда сообщает железка. ОС тут ни при чем. В контексте Ethernet, если разрыв будет совсем близко к хосту - сразу выкинет ошибку. Если разрыв между маршутизаторами, то соединения будут висеть у обоих сторон до тех пор пока маршутизатор не вернет ответ в духе host unreachable. Чтобы словить этот момент раньше отправки данных или перед их получением был придуман keep-alive. Без последнего сокет работает по таймаутам: RTO (rfc 793 параграф 3.7) и пользовательские таймауты.