我有以下情况:
在Windows下是否存在已建立连接的超时(本例中为Win8.1)?我能改变这个超时吗?
我找到了这,但这似乎没有回答我关于建立联系的问题。
发布于 2015-11-12 07:59:12
默认情况下,已建立的TCP连接不超时(但可能是因为硬件的限制)。
应用程序可以使用TCP保活机制来检查断开的连接。在Firebird (>1.5)中启用TCP保持名。
必须在服务器上设置保活“超时值”。Windows 为2小时(但建议为5分钟)为2小时(但建议为5分钟)中的默认TCP保持活动时间间隔。它可以在HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime注册表项中设置。
以上链接的更多细节:
失败的客户端连接将在以下时间间隔之后关闭:
KEEPALIVE_TIME+ ( KEEPALIVE_PROBES+1)* KEEPALIVE_INTERVAL
在Windows中使用以下相应的注册表值:
KEEPALIVE_TIME = KeepAliveTime (default: 7200 seconds)
KEEPALIVE_INTERVAL = KeepAliveInterval (default: 1 second)
KEEPALIVE_PROBES = TCPMaxDataRetransmissions (default: 5)但是:
默认情况下,每两小时发送一次保持活动段( ... )。即使启用了,其他上层协议(如NetBIOS )也会发送自己的保活值。如果上层协议使用的保持活动间隔小于TCP保持活动间隔,则不会发送TCP保持活动值。例如,TCP/IP上的NetBIOS会话每60分钟发送一次NetBIOS保持活动请求。因此,永远不会使用为NetBIOS会话启用的TCP使活值。
发布于 2015-11-11 15:01:06
TCP规范没有超时或保持活动机制。可以将Registry设置为配置TCP记事本,但这取决于实际应用程序是否使用keepalives。见这个问题的答案:
https://serverfault.com/questions/735515
复制相似问题