Keepalive 数据包 - KeepAliveTime 的合理设置是什么?

Keepalive 数据包 - KeepAliveTime 的合理设置是什么?

该参数控制 TCP 通过发送保持连接数据包来尝试验证空闲连接是否仍然完好的频率。如果远程计算机仍可访问且正常运行,则远程计算机将确认保持连接传输。默认情况下,不会发送保持连接数据包。程序可以在连接上启用此功能。

KeepAliveTime 的默认值为 2 小时。这似乎太长了。如果我的网络连接中断,我希望能够及时了解情况并让应用程序在 2 小时后做出响应。我认为将此值设置为 5 分钟以下不会有什么问题 - 带宽使用量可以忽略不计。

为什么 KeepAliveTime 的默认值这么长,将其设置为较低的数字(例如 5 分钟)是否安全?

答案1

如果您运行的服务器需要知道其客户端是否仍处于活动状态,并且您的应用程序设置了 keepalive 套接字选项,则降低 keepalive 时间可能有意义。在这种情况下,将其设置为 5 分钟非常合理。

例如,请考虑为 ESRI CAD 软件用户提供的有关配置 keepalive 的建议:http://support.esri.com/ja/knowledgebase/techarticles/detail/25129

对于您的应用程序来说,套接字保持打开 5 分钟或 2 小时有关系吗?

相关内容