Поделиться через


SO_KEEPALIVE

Состояние параметра сокета SO_KEEPALIVE определяет, отправляются ли пакеты для поддержания активности в сокете, ориентированном на подключение. Этот параметр сокета применяется только к прослушивающим сокетам и сокетам, ориентированным на подключение.

Чтобы задать состояние этого параметра сокета, приложение WSK вызывает функцию WskControlSocket со следующими параметрами.

Параметр Значение

RequestType

WskSetOption

ControlCode

SO_KEEPALIVE

Уровень

SOL_SOCKET

Размер входных данных

sizeof(ULONG)

InputBuffer

Указатель на переменную типа ULONG, содержащую значение для нового состояния параметра сокета:

  • 0: отключение отправки пакетов для поддержания активности

  • 1. Включение отправки пакетов для поддержания активности

OutputSize

0

OutputBuffer

NULL

OutputSizeReturned

NULL

Чтобы получить состояние этого параметра сокета, приложение WSK вызывает функцию WskControlSocket со следующими параметрами.

Параметр Значение

RequestType

WskGetOption

ControlCode

SO_KEEPALIVE

Уровень

SOL_SOCKET

Размер входных данных

0

InputBuffer

NULL

OutputSize

sizeof(ULONG)

OutputBuffer

Указатель на переменную типа ULONG, которая получает значение состояния параметра сокета:

  • 0: отправка пакетов для поддержания активности отключена

  • 1. Отправка пакетов поддержания активности включена

OutputSizeReturned

NULL

Приложение WSK должно указывать указатель на IRP при вызове функции WskControlSocket , чтобы задать или получить состояние параметра сокета SO_KEEPALIVE.

Состояние этого сокета по умолчанию заключается в том, что отправка пакетов отслеживания активности отключена.

Если этот параметр сокета включен для прослушивающего сокета, этот параметр включен по умолчанию для всех входящих подключений, принятых в этом сокете. Приложение WSK может вызывать функцию WskControlSocket в принятом сокете, чтобы переопределить состояние этого параметра сокета, унаследованного от сокета прослушивания.

Пакеты keep-alive отправляются базовым сетевым транспортом. Не все сетевые транспорты поддерживают отправку пакетов поддержания активности.

Дополнительные сведения об использовании пакетов для поддержания активности см. в разделе RFC 1122, раздел 4.2.3.6, "TCP Keep-Alives".

Требования

Версия

Доступно в Windows Vista и более поздних версиях операционных систем Windows.

Заголовок

Ws2def.h (включая Wsk.h)