Condividi tramite


SO_KEEPALIVE

Lo stato dell'opzione socket SO_KEEPALIVE determina se i pacchetti keep-alive vengono inviati su un socket orientato alla connessione. Questa opzione socket si applica solo ai socket in ascolto e ai socket orientati alla connessione.

Per impostare lo stato di questa opzione socket, un'applicazione WSK chiama la funzione WskControlSocket con i parametri seguenti.

Parametro Valore

RequestType

WskSetOption

ControlCode

SO_KEEPALIVE

Level

SOL_SOCKET

InputSize

sizeof(ULONG)

Inputbuffer

Puntatore a una variabile tipizzata ULONG che contiene il valore per il nuovo stato dell'opzione socket:

  • 0: Disabilitare l'invio di pacchetti keep-alive

  • 1: Abilitare l'invio di pacchetti keep-alive

OutputSize

0

OutputBuffer

NULL

OutputSizeReturned

NULL

Per recuperare lo stato di questa opzione socket, un'applicazione WSK chiama la funzione WskControlSocket con i parametri seguenti.

Parametro Valore

RequestType

WskGetOption

ControlCode

SO_KEEPALIVE

Level

SOL_SOCKET

InputSize

0

Inputbuffer

NULL

OutputSize

sizeof(ULONG)

OutputBuffer

Puntatore a una variabile tipizzata ULONG che riceve il valore dello stato dell'opzione socket:

  • 0: L'invio di pacchetti keep-alive è disabilitato

  • 1: L'invio di pacchetti keep-alive è abilitato

OutputSizeReturned

NULL

Un'applicazione WSK deve specificare un puntatore a un IRP quando si chiama la funzione WskControlSocket per impostare o recuperare lo stato dell'opzione socket SO_KEEPALIVE.

Lo stato predefinito di questa opzione socket è che l'invio di pacchetti keep-alive è disabilitato.

Se questa opzione socket è abilitata in un socket di ascolto, tutte le connessioni in ingresso accettate nel socket in ascolto hanno questa opzione socket abilitata per impostazione predefinita. Un'applicazione WSK può chiamare la funzione WskControlSocket su un socket accettato per eseguire l'override dello stato di questa opzione socket ereditata dal socket di ascolto.

I pacchetti keep-alive vengono inviati dal trasporto di rete sottostante. Non tutti i trasporti di rete supportano l'invio di pacchetti keep-alive.

Per altre informazioni sull'uso di pacchetti keep-alive, vedere RFC 1122, sezione 4.2.3.6, "TCP Keep-Alives".

Requisiti

Versione

Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.

Intestazione

Ws2def.h (include Wsk.h)