O aplicativo tcp_keepalive depende do Linux?

1

De acordo com o link , a função keepalive do kernel ocorre no nível do SO, e doesn ' t requer um aplicativo para chamá-lo explicitamente. No entanto, também li sobre como um aplicativo deve chamá-lo (usando SO_KEEPALIVE) para realmente fazer uso do recurso do kernel.

Aqui > As opções do Keep-alive não funcionam no Linux para uma conexão de saída

Alguém poderia, por favor, esclarecer?

Obrigado!

    
por Davis 08.04.2013 / 05:20

1 resposta

3

Não ocorre para soquetes de aplicativos, a menos que sejam explicitamente ativados neles. Além disso, é claramente declarado no HOWTO TCP Keepalive ao qual você se referiu:

Remember that keepalive support, even if configured in the kernel, is not the default behavior in Linux. Programs must request keepalive control for their sockets using the setsockopt interface. There are relatively few programs implementing keepalive, but you can easily add keepalive support for most of them following the instructions explained later in this document.

    
por 08.04.2013 / 05:33