AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 431382
Accepted
Avihai Marchiano
Avihai Marchiano
Asked: 2012-09-25 06:23:57 +0800 CST2012-09-25 06:23:57 +0800 CST 2012-09-25 06:23:57 +0800 CST

TCP keepalive 是如何工作的

  • 772

我在 Ubuntu 上运行,我想使用 TCP keepalive 来实现主从之间的心跳。两台服务器都是我的 impl (c++)。我阅读了这篇概述并进行了一些谷歌搜索。我不明白 TCP keepalive 发送什么,我知道在 TCP keepalive 中使用时连接是否不再有效?。我需要检查恢复的内容吗?

目标是在 master-slave 之间建立心跳,所以如果一个失败,另一个将成为主人。在这篇文章中,建议是使用 tcp keepalive 机制实现 hearbeat,所以这就是我问在使用 tcp keepalive 时如何识别断开的连接的原因。

tcp
  • 1 1 个回答
  • 1772 Views

1 个回答

  • Voted
  1. Best Answer
    David Schwartz
    2012-09-25T09:59:54+08:002012-09-25T09:59:54+08:00

    您似乎将 TCP keepalive 机制与名为keepalived的负载平衡守护进程混淆了。两者没有任何关系。如果您试图检测两个程序之间的连接丢失或问题,这两个程序都是您编写的,那么您不需要任何一种机制。

    如果您想在编写两个程序时检测两个程序之间的不良连接,只需在代码中构建无效连接检测即可。TCP 保证发送方将检测到死连接。所以最简单的方案就是保证双方都周期性发送。另一种解决方案是确保一方定期发送,如果另一方没有收到该定期数据,则声明连接已断开。

    • 0

相关问题

  • 使用 TOAD 客户端通信配置保活

  • ping 尝试中的“TTL 在传输中过期”是什么意思?

  • 在自写的 tcp 服务器上使用哪些端口

  • 将文本文件输出到 TCP 端口

  • 使用多个 NIC 增加带宽

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve