代码之家  ›  专栏  ›  技术社区  ›  Jingguo Yao

TCP连接可以保持打开多久?

  •  16
  • Jingguo Yao  · 技术社区  · 7 年前

    考虑到这种情况,有 client-a server-b . 服务器-b 已禁用TCP keepalive。服务器b没有任何应用程序逻辑来检查TCP连接是否打开。 客户-a 建立TCP连接到 服务器-b 。之间没有数据传输 服务器-b

    阅读后 Longest Open TCP Connection? ,我想这样的TCP连接将永远保持开放。我的猜测正确吗?

    1 回复  |  直到 7 年前
        1
  •  27
  •   Steffen Ullrich    7 年前

    TCP连接本身没有限制。理论上,客户机和服务器可以在不交换任何数据和没有任何数据包流的情况下保持连接数年。问题通常是由NAT路由器或防火墙等保持状态并在某些不活动后使状态过期的中间盒引起的。由于中间盒中不再存在关联状态,因此无法传递连接中发送的任何新数据包。

    推荐文章