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:
|
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:
|
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) |