ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 su valor es true, la opción keep-alive en una conexión TCP estará habilitada con los valores especificados de keepAliveTime
y keepAliveInterval
.
Si su valor es false, esta opción estará deshabilitada y se omitirán los parámetros restantes.
El valor predeterminado es false.
- keepAliveTime
- Int32
Especifica el tiempo de espera sin actividad, en milisegundos, hasta que se envía el primer paquete keep-alive.
El valor debe ser mayor que 0. Si se pasa un valor menor o igual que cero, se devolverá ArgumentOutOfRangeException.
- keepAliveInterval
- Int32
Especifica el intervalo, en milisegundos, entre envíos sucesivos de paquetes keep-alive si no se recibe ninguna confirmación.
El valor debe ser mayor que 0. Si se pasa un valor menor o igual que cero, se iniciará una excepción ArgumentOutOfRangeException.
Excepciones
El valor especificado para el parámetro keepAliveTime
o keepAliveInterval
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 de mantenimiento activo 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 las llamadas posteriores producirán un error con un SocketError de NotConnected.