ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Enables or disables the keep-alive option on a TCP connection.
public:
void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public void SetTcpKeepAlive (bool enabled, int keepAliveTime, int keepAliveInterval);
member this.SetTcpKeepAlive : bool * int * int -> unit
Public Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)
Parameters
- enabled
- Boolean
If set to true, then the TCP keep-alive option on a TCP connection will be enabled using the specified keepAliveTime
and keepAliveInterval
values.
If set to false, then the TCP keep-alive option is disabled and the remaining parameters are ignored.
The default value is false.
- keepAliveTime
- Int32
Specifies the timeout, in milliseconds, with no activity until the first keep-alive packet is sent.
The value must be greater than 0. If a value of less than or equal to zero is passed an ArgumentOutOfRangeException is thrown.
- keepAliveInterval
- Int32
Specifies the interval, in milliseconds, between when successive keep-alive packets are sent if no acknowledgement is received.
The value must be greater than 0. If a value of less than or equal to zero is passed an ArgumentOutOfRangeException is thrown.
Exceptions
The value specified for keepAliveTime
or keepAliveInterval
parameter is less than or equal to 0.
Remarks
Caution
WebRequest
, HttpWebRequest
, ServicePoint
, and WebClient
are obsolete, and you shouldn't use them for new development. Use HttpClient instead.
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 SocketError of NetworkReset is returned to any calls in progress on the socket, and any subsequent calls will fail with a SocketError of NotConnected.