Partekatu honen bidez:


ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Método

Definición

Habilita o deshabilita la opción keep-alive en una conexión TCP.

public:
 static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
static member SetTcpKeepAlive : bool * int * int -> unit
Public Shared Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)

Parámetros

enabled
Boolean

Si se establece en true, la opción tcp keep-alive en una conexión TCP se habilitará mediante los valores y keepAliveInterval especificadoskeepAliveTime.

Si se establece en false, la opción TCP keep-alive está deshabilitada y se omiten los parámetros restantes.

El valor predeterminado es false.

keepAliveTime
Int32

Especifica el tiempo de espera, en milisegundos, sin actividad hasta que se envíe el primer paquete keep-alive.

El valor debe ser mayor que 0. Si se pasa un valor de menor o igual que cero, se produce una ArgumentOutOfRangeException excepción .

keepAliveInterval
Int32

Especifica el intervalo, en milisegundos, entre cuando se envían paquetes keep-alive sucesivos si no se recibe ninguna confirmación.

El valor debe ser mayor que 0. Si se pasa un valor de menor o igual que cero, se produce una ArgumentOutOfRangeException excepción .

Excepciones

El valor especificado para keepAliveTime o keepAliveInterval parámetro es menor o igual que 0.

Comentarios

Una aplicación puede solicitar que un proveedor TCP/IP habilite el uso de paquetes keep-alive en una conexión TCP. El valor predeterminado es que el uso de paquetes keep-alive en una conexión TCP está deshabilitado.

La configuración predeterminada cuando se inicializa un socket TCP establece el tiempo de espera de mantenimiento activo en 2 horas y el intervalo de mantenimiento activo en 1 segundo. El keepAliveTime parámetro especifica el tiempo de espera, en milisegundos, sin actividad hasta que se envíe el primer paquete keep-alive. El keepAliveInterval parámetro especifica el intervalo, en milisegundos, entre cuando se envían paquetes keep-alive sucesivos si no se recibe ninguna confirmación. No se puede cambiar el número de sondeos keep-alive y se establece en 10.

Si se quita una conexión TCP como resultado de keep-alives, se devuelve un SocketError de NetworkReset a cualquier llamada en curso en el socket y se producirá un error en las llamadas posteriores con un SocketError de NotConnected.

Este método no es seguro para subprocesos. Cualquier ServicePoint creado al mismo tiempo podría ver valores modificados parcialmente para tcp keep-alive.

Nota:

Desde .NET 9, HttpWebRequest usa SocketsHttpHandler.ConnectCallback para establecer las opciones de mantenimiento de TCP en el socket subyacente en los valores proporcionados a este método.

Se aplica a

Consulte también