TCP keepalive como funciona

1

Eu corro no Ubuntu e quero usar TCP keepalive para implementar hearbeat entre servidores master-slave.both são meus impl (c ++). Eu li essa visão geral e fiz algumas pesquisas no google. Eu não entendi o que TCP keepalive enviar e sei se a conexão não é mais válida quando usar em TCP keepalive? Preciso verificar o conteúdo revivido?

O alvo é ter hearbeat entre mestre-escravo, então se um falhar, o outro será o mestre. neste postar o conselho é implementar o hearbeat com o tcp keepalive mechanism, então esta é a razão pela qual eu estou perguntando como eu identifico a conexão quebrada ao usar tcp keepalive.

    
por Avihai Marchiano 24.09.2012 / 16:23

1 resposta

0

Parece que você está confundindo o mecanismo keepalive do TCP com um daemon de balanceamento de carga chamado keepalived . Os dois não têm nada a ver um com o outro. E se você está tentando detectar perda de conexão ou problemas entre dois programas, ambos os quais você escreveu, você não quer nenhum mecanismo.

Se você quiser detectar uma conexão ruim entre dois programas quando tiver escrito ambos, apenas crie uma detecção de conexão inativa no código. O TCP garante que um lado que está enviando detectará uma conexão inativa. Portanto, a solução mais simples é garantir que ambos os lados enviem periodicamente. Outra solução é garantir que um lado seja enviado periodicamente e o outro lado declare a conexão como morta se não receber esses dados periódicos.

    
por 24.09.2012 / 19:59

Tags