Udostępnij przez


SO_KEEPALIVE

Stan opcji gniazda SO_KEEPALIVE określa, czy pakiety keep-alive są wysyłane na gniazdo zorientowane na połączenie. Ta opcja gniazda dotyczy tylko gniazd nasłuchiwania i gniazd zorientowanych na połączenie.

Aby ustawić stan tej opcji gniazda, aplikacja WSK wywołuje funkcję WskControlSocket z następującymi parametrami.

Parametr Wartość

RequestType

WskSetOption

ControlCode

SO_KEEPALIVE

poziom

SOL_SOCKET

InputSize

sizeof(ULONG)

Bufor Wejściowy

Wskaźnik do zmiennej typu ULONG, która zawiera wartość dla nowego stanu opcji gniazda:

  • 0: Wyłączanie wysyłania pakietów keep-alive

  • 1: Włączanie wysyłania pakietów podtrzymujących połączenie

OutputSize

0

OutputBuffer

ZERO

OutputSizeReturned

ZERO

Aby pobrać stan tej opcji gniazda, aplikacja WSK wywołuje funkcję WskControlSocket z następującymi parametrami.

Parametr Wartość

RequestType

WskGetOption

ControlCode

SO_KEEPALIVE

poziom

SOL_SOCKET

InputSize

0

Bufor Wejściowy

ZERO

OutputSize

sizeof(ULONG)

OutputBuffer

Wskaźnik do zmiennej typu ULONG, która odbiera wartość stanu opcji gniazda:

  • 0: Wysyłanie pakietów utrzymania połączenia jest wyłączone

  • Wysyłanie pakietów podtrzymujących połączenie jest włączone

OutputSizeReturned

ZERO

Aplikacja WSK musi określić wskaźnik do IRP podczas wywoływania funkcji WskControlSocket w celu ustawienia lub pobrania stanu opcji gniazda SO_KEEPALIVE.

Domyślnym stanem tej opcji gniazda jest to, że wysyłanie pakietów keep-alive jest wyłączone.

Jeśli ta opcja gniazda jest włączona w gniazdach nasłuchiwania, wszystkie połączenia przychodzące akceptowane w tym gniazda nasłuchiwania mają tę opcję gniazda domyślnie włączoną. Aplikacja WSK może wywołać funkcję WskControlSocket na zaakceptowanym gnieździe, aby zmienić stan opcji tego gniazda, która została odziedziczona z gniazda nasłuchującego.

Pakiety keep-alive są wysyłane przez bazowy transport sieciowy. Nie wszystkie transporty sieciowe obsługują wysyłanie pakietów podtrzymujących połączenie.

Aby uzyskać więcej informacji na temat używania pakietów keep-alive, zobacz RFC 1122, sekcja 4.2.3.6, "TCP Keep-Alives".

Wymagania

Wersja

Dostępne w systemie Windows Vista i nowszych wersjach systemów operacyjnych Windows.

Nagłówek

Ws2def.h (zawiera Wsk.h)