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


Параметры сокета и ioCTLs

Некоторые параметры сокета для сокетов Windows 2 приведены в следующей таблице. Более подробные сведения приведены в разделе 4 в разделе WSPGetSockOpt и/или WSPSetSockOpt. Существуют другие новые варианты сокета для конкретного протокола, которые можно найти в приложении для конкретного протокола. Полный список параметров сокета для сокетов Windows доступен в справочнике по Winsock.

Сводка по некоторым из Ioctls Winsock см. в разделе "Сводка ioctl Opcodes сокетов". Полный список IOCTLs Winsock доступен в справочнике по Winsock.

Сводка общих параметров сокета

Поставщик услуг Winsock должен распознать все эти параметры и (для WSPGetSockOpt) возвращать правдоподобные значения для каждого. Значение по умолчанию для каждого параметра отображается в следующей таблице.

Значение

Тип

Значение

По умолчанию

Примечание.

SO_ACCEPTCONN

BOOL

Сокет прослушивает.

ЗНАЧЕНИЕ FALSE, если не выполнен WSPListen.

SO_BROADCAST

BOOL

Сокет настроен для передачи и получения широковещательных сообщений.

FALSE

SO_DEBUG

BOOL

Отладка включена.

FALSE

(i)

SO_DONTLINGER

BOOL

Если значение true, параметр SO_LINGER отключен.

TRUE

SO_DONTROUTE

BOOL

Маршрутизация отключена. Успешно, но игнорируется на сокетах AF_INET; не удается выполнить AF_INET6 сокеты с WSAENOPROTOOPT. Не поддерживается в сокетах ATM (приводит к ошибке).

FALSE

(i)

SO_ERROR

INT

Извлекает состояние ошибки и очищает его.

0

SO_GROUP_ID

ГРУППА

Зарезервировано.

NULL

Получение только

SO_GROUP_PRIORITY

INT

Зарезервировано.

0

SO_KEEPALIVE

BOOL

Отправляемые хранимые средства. Не поддерживается в сокетах ATM (приводит к ошибке).

FALSE

(i)

SO_LINGER

Структура задерживает

Возвращает текущие параметры затяжки.

значение l_onoff равно 0

SO_MAX_MSG_SIZE

INT

Максимальный размер исходящего сообщения для типов сокетов сообщений. Нет подготовки для определения максимального размера входящего сообщения. Не имеет значения для сокетов, ориентированных на поток.

Зависимость от реализации

Получение только

SO_OOBINLINE

BOOL

Данные OOB получаются в обычном потоке данных.

FALSE

SO_PROTOCOL_INFOW

WSAPROTOCOL_INFO структуры

Описание сведений о протоколе, привязанного к этому сокету.

Зависимый от протокола

Получение только

SO_RCVBUF

INT

Общее пространство буфера сокета, зарезервированное для получения. Это не связано с SO_MAX_MSG_SIZE и не обязательно соответствует размеру окна получения TCP.

Зависимость от реализации

(i)

SO_REUSEADDR

BOOL

Адрес, к которому привязан этот сокет, можно использовать другими пользователями. Неприменимо к сокетам ATM.

FALSE

SO_SNDBUF

INT

Общее пространство буфера сокета, зарезервированное для отправки. Это не связано с SO_MAX_MSG_SIZE и не обязательно соответствует размеру окна отправки TCP.

Зависимость от реализации

(i)

SO_TYPE

INT

Тип сокета (например, SOCK_STREAM).

Как было создано через сокет.

PVD_CONFIG

char FAR *

Непрозрачный объект структуры данных, содержащий сведения о конфигурации поставщика услуг.

Зависимость от реализации

TCP_NODELAY

BOOL

Отключить алгоритм Nagle для отправки объединенных пакетов.

Зависимость от реализации

(i) Поставщик услуг может автоматически игнорировать этот параметр в WSPSetSockOpt и возвращать константное значение для WSPGetSockOpt или принимать значение для WSPSetSockOpt и возвращать соответствующее значение в WSPGetSockOpt без использования значения каким-либо образом.

 

Параметры сокета

Параметры сокета SOL_SOCKET

Параметры сокета IPPROTO_TCP

Параметры сокета IPPROTO_UDP

Winsock IOCTLs