Windows 中的默认 TCP 连接超时时间是多少?有一个注册表项来配置它还是动态设置?
我可以更改/添加KeepAliveTime相关的注册表变量以使 Windows 机器在空闲连接上发送 TCP 保持活动数据包吗?
我想知道是否有人成功地完成了这项工作。具体来说,当应用程序在 TCP 连接上空闲时没有做任何特别的事情 (setsockopt) 来保持连接。
此 Microsoft TechNet 详细介绍了使用KeepAliveTime和相关注册表变量配置系统范围的 Keep-Alive。
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime
看起来像是使用 keep-alive的Linux 系统范围的配置。
但是,这需要程序使用setsockopt()并请求保持活动状态(对吗?)。
请记住,即使在内核中配置了 keepalive 支持,也不是 Linux 中的默认行为。程序必须使用setsockopt 接口为其套接字请求keepalive 控制。实现keepalive的程序相对较少......