Compartir a través de


SO_KEEPALIVE

El estado de la opción de socket SO_KEEPALIVE determina si los paquetes de conexión se envían en un socket orientado a la conexión. Esta opción de socket solo se aplica a los sockets de escucha y a los sockets orientados a la conexión.

Para establecer el estado de esta opción de socket, una aplicación WSK llama a la función WskControlSocket con los parámetros siguientes.

Parámetro Value

RequestType

WskSetOption

ControlCode

SO_KEEPALIVE

Level

SOL_SOCKET

InputSize

sizeof(ULONG)

InputBuffer

Puntero a una variable con tipo ULONG que contiene el valor para el nuevo estado de la opción de socket:

  • 0: Deshabilitar el envío de paquetes de mantenimiento activo

  • 1: Habilitar el envío de paquetes de mantenimiento activo

OutputSize

0

OutputBuffer

NULL

OutputSizeReturned

NULL

Para recuperar el estado de esta opción de socket, una aplicación WSK llama a la función WskControlSocket con los parámetros siguientes.

Parámetro Value

RequestType

WskGetOption

ControlCode

SO_KEEPALIVE

Level

SOL_SOCKET

InputSize

0

InputBuffer

NULL

OutputSize

sizeof(ULONG)

OutputBuffer

Puntero a una variable con tipo ULONG que recibe el valor del estado de la opción de socket:

  • 0: El envío de paquetes de conexión activa está deshabilitado

  • 1: El envío de paquetes de conexión activa está habilitado

OutputSizeReturned

NULL

Una aplicación WSK debe especificar un puntero a un IRP al llamar a la función WskControlSocket para establecer o recuperar el estado de la opción de socket SO_KEEPALIVE.

El estado predeterminado de esta opción de socket es que el envío de paquetes keep-alive está deshabilitado.

Si esta opción de socket está habilitada en un socket de escucha, todas las conexiones entrantes que se aceptan en ese socket de escucha tienen habilitada esta opción de socket de forma predeterminada. Una aplicación WSK puede llamar a la función WskControlSocket en un socket aceptado para invalidar el estado de esta opción de socket que se heredó del socket de escucha.

El transporte de red subyacente envía paquetes de mantenimiento activo. No todos los transportes de red admiten el envío de paquetes de mantenimiento activo.

Para obtener más información sobre el uso de paquetes keep-alive, consulte RFC 1122, sección 4.2.3.6, "TCP Keep-Alives".

Requisitos

Versión

Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.

Encabezado

Ws2def.h (incluya Wsk.h)