If you have a logical connection between 2 computers, and the connection fails, it is possible that one of the computers will not detect the failure, and leave the connection open indefinitely. This is particularly true when a router is between the 2 computers, but it can happen on a local subnet also.
You can alter this behavior by sending keepalive probes. When a probe fails, the connection is closed.
Use Regedt32 to navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
On the Edit menu, use Add Value to add the following REG_DWORD values:
KeepAliveTime is the interval between successful keepalive probes. The range is 0x1 - 0xFFFFFFFF milliseconds and the default is 0x6DDD00 milliseconds (2 hours).
KeepAliveInterval is interval between failed keepalive probes. The range is 0x1 - 0xFFFFFFFF milliseconds and the default is 0x3E8 milliseconds (1 second).
TcpMaxDataRetransmissions - Not valid for W9x.
You must restart you computer for these changes to take effect.
You must also turn on keepalive probes by running a program that uses the setsockopt() call with SO_KEEPALIVE option. Starting
Internet Explorer will do this.