tcp_keepalive应用程序依赖于Linux吗?

根据http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/index.html ,内核保活function发生在操作系统级别,并且不需要应用程序来明确地调用它。 不过,我也读了应用程序如何调用它(使用SO_KEEPALIVE)来实际使用内核function。

这里> Keep-alive选项在Linux上不适用于外出连接

有人可以澄清?

谢谢!

除非明确地打开应用程序套接字,否则不会发生这种情况。 此外,您在提到的TCP Keepalive HOWTO中明确指出 :

请记住,即使在内核中configurationKeepalive支持,也不是Linux中的默认行为。 程序必须使用setsockopt接口请求它们的套接字的存活控制。 实现Keepalive的程序相对较less,但可以按照本文稍后介绍的说明轻松地为其中大部分添加Keepalive支持。