Partekatu honen bidez:


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

Definición

Habilita o deshabilita la opción keep-alive en una conexión 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)

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

Cautela

WebRequest, HttpWebRequest, ServicePointy WebClient están obsoletos y no debe usarlos para el nuevo desarrollo. Use HttpClient en su lugar.

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 nueva conexión creada 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