В соответствии с http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/index.html , функция поддержки активности ядра выполняется на уровне ОС и не требует, чтобы приложение явно ее вызывало. Однако я также читал о том, как приложение должно вызывать его (используя SO_KEEPALIVE), чтобы на самом деле использовать функцию ядра.
Здесь> Параметры проверки активности не работают в Linux для исходящего соединения
Может кто-нибудь уточнить?
Спасибо!
Это не происходит для сокетов приложений, если они явно не включены. Более того, это ясно сказано в TCP Keepalive HOWTO вы упомянули:
Помните, что поддержка keepalive, даже если она настроена в ядре, не является поведением по умолчанию в Linux. Программы должны запрашивать контроль активности для своих сокетов с помощью интерфейса setsockopt. Существует относительно немного программ, реализующих поддержку активности, но вы можете легко добавить поддержку поддержки активности для большинства из них, следуя инструкциям, описанным далее в этом документе.