System.Net.ServicePoint.SetTcpKeepAlive Method

Enables or disables the keep-alive option on a TCP connection.

Syntax

public void SetTcpKeepAlive (bool enabled, int keepAliveTime, int keepAliveInterval)

Parameters

enabled
If set to true, then the TCP keep-alive option on a TCP connection will be enabled using the specified keepAliveTime and keepAliveInterval values.
keepAliveTime
Specifies the timeout, in milliseconds, with no activity until the first keep-alive packet is sent.
keepAliveInterval
Specifies the interval, in milliseconds, between when successive keep-alive packets are sent if no acknowledgement is received.

Remarks

An application can request that a TCP/IP provider enable the use of keep-alive packets on a TCP connection. The default is that the use of keep-alive packets on a TCP connection is disabled.

The default settings when a TCP socket is initialized sets the keep-alive timeout to 2 hours and the keep-alive interval to 1 second. The keepAliveTime parameter specifies the timeout, in milliseconds, with no activity until the first keep-alive packet is sent. The keepAliveInterval parameter specifies the interval, in milliseconds, between when successive keep-alive packets are sent if no acknowledgement is received. The number of keep-alive probes cannot be changed and is set to 10.

If a TCP connection is dropped as the result of keep-alives, a System.Net.Sockets.SocketError of System.Net.Sockets.SocketError.NetworkReset is returned to any calls in progress on the socket, and any subsequent calls will fail with a System.Net.Sockets.SocketError of System.Net.Sockets.SocketError.NotConnected.

Requirements

Namespace: System.Net
Assembly: System (in System.dll)
Assembly Versions: 4.0.0.0