LINUX.ORG.RU

История изменений

Исправление 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...

http://www.isi.edu/touch/pubs/infocomm99/infocomm99-web/

http://rfc2.ru/793.rfc

Исходная версия gh0stwizard, :

2) О проблемах на канальном уровне всегда сообщает железка. ОС тут ни при чем. В контексте Ethernet, если разрыв будет совсем близко к хосту - сразу выкинет ошибку. Если разрыв между маршутизаторами, то соединения будут висеть у обоих сторон до тех пор пока маршутизатор не вернет ответ в духе host unreachable. Чтобы словить этот момент раньше отправки данных или перед их получением был придуман keep-alive. Без последнего сокет работает по таймаутам: RTO (rfc 793 параграф 3.7) и пользовательские таймауты.