有关TCP连接和TCP的查询是否仍然有效?

时间:2017-05-29 08:36:49

标签: sockets tcp

我有关于连接和TCP保持活动的以下查询:

  1. TCP连接是否必须保持活动状态?
  2. 保持活动的持续时间是固定的还是可配置的?
  3. 假设保持活动间隔是每15秒一次,那么保持活动总是每15秒发送一次还是仅在15秒内没有发送应用程序数据?
  4. 服务器(通过TCP与客户端连接)如何确定与客户端的连接是否完整 - 是否可以使用TCP keepalive完成 - 在这种情况下,它是需要发送的服务器活着?此外,如果未启用keepalive,那么除了发送应用程序级别探测之外,还有什么方法可以检查连接状态吗?

1 个答案:

答案 0 :(得分:1)

  

TCP连接是否必须保持活动状态?

不,它是可选的,并且RFC 1122-3默认情况下必须关闭。

  

保持活动的持续时间是固定的还是可配置的?

默认情况下至少需要两个小时。它通常是可配置的,但通常只在全局范围内用于所有套接字。

  

假设保持活动间隔是每15秒一次,那么保持活动总是每15秒发送一次还是仅在15秒内没有发送应用程序数据?

我不确定这是否已定义,但很难看出它如何对您产生影响。

  

服务器(通过TCP与客户端连接)如何确定与客户端的连接是否完好无法

通过观察它是否在接收,ECONNRESET或连接超时时结束流。

  

可以使用TCP keepalive完成 - 在这种情况下,是否需要发送keepalive的服务器?

需要找出的一方应该是发送Keepalive的一方。两者兼而有之。

  

此外,如果未启用keepalive,那么除了发送应用程序级别探测之外,还有什么方法可以检查连接状态吗?

见上文。