Skip navigation

JSI Tip 2312. Lost connection can remain open forever?

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.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish