ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) 方法

定义

启用或禁用 TCP 连接的保持活动选项。

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)

参数

enabled
Boolean

如果设置为 true,将使用指定的 keepAliveTimekeepAliveInterval 值启用 TCP 连接上的 TCP 保持活动选项。

如果设置为 false,则禁用 TCP 保持活动选项,并忽略其余参数。

默认值为 false。

keepAliveTime
Int32

指定在发送第一个保持活动数据包之前没有活动的超时(以毫秒为单位)。

该值必须大于 0。 如果传递的值小于或等于零,则会引发 ArgumentOutOfRangeException

keepAliveInterval
Int32

指定在未收到确认时发送连续保持活动数据包之间的间隔(以毫秒为单位)。

该值必须大于 0。 如果传递的值小于或等于零,则会引发 ArgumentOutOfRangeException

例外

keepAliveTimekeepAliveInterval 参数指定的值小于或等于 0。

注解

谨慎

WebRequestHttpWebRequestServicePointWebClient 已过时,不应将其用于新开发。 请改用 HttpClient

应用程序可以请求 TCP/IP 提供程序允许在 TCP 连接上使用保持连接数据包。 默认值是禁用 TCP 连接上的保持连接数据包的使用。

初始化 TCP 套接字时,默认设置将保持连接超时设置为 2 小时,将保持连接间隔设置为 1 秒。 keepAliveTime 参数指定在发送第一个保持活动数据包之前没有活动的超时(以毫秒为单位)。 keepAliveInterval 参数指定在未收到确认时发送连续保持连接数据包之间的间隔(以毫秒为单位)。 无法更改保持活动探测的数量,并且设置为 10。

如果由于保持连接而丢弃 TCP 连接,则会将 SocketErrorNetworkReset 返回到套接字上正在进行的任何调用,并且任何后续调用都将失败,NotConnectedSocketError

适用于