CAsyncSocket::GetSockOpt

BOOL GetSockOpt ( int nOptionName, void * lpOptionValue, int * lpOptionLen, int nLevel = SOL_SOCKET );

Возвращаемое значение

Ненулевое значение, если функция выполнена успешно; в противном случае 0 и код ошибки можно получить, вызвав функцию GetLastError. Если параметр никогда не был установлен с SetSockOpt, то GetSockOpt возвращает значение по умолчанию для параметра. Следующие ошибки применяются к этой функции-члена:

Параметры

nOptionName

Параметр сокета, для которого должно быть возвращено это значение.

lpOptionValue

Указатель на буфер, в котором значение запрошенного параметра должен быть возвращен. Значение, связанное с выбранным вариантом возвращается в буфер lpOptionValue. Целое число, который указывает lpOptionLen первоначально должен содержать размер этого буфера в байтах; и о возвращении, он будет иметь значение размер возвращаемого значения. Для SO_LINGERэто будет размер структуры ожидания ; для всех других вариантов будет размер BOOL или int, в зависимости от параметра. Смотрите список вариантов и их размеры в разделе "Примечания".

lpOptionLen

Указатель на размер lpOptionValue буфера в байтах.

nLevel

Уровень, на котором определен параметр; единственным поддерживаемым уровни являются SOL_SOCKET и IPPROTO_TCP.

Примечания

Этот член функция вызывается для извлечения параметра socket. GetSockOpt извлекается текущее значение для параметра сокета, связанные с socket любого типа в любом государстве и сохраняет результат в lpOptionValue. Параметры влияют на сокет такие операции, как маршрутизация пакетов, передачи данных-диапазона и т. д.

GetSockOptподдерживают следующие параметры. Тип определяет тип данных, имя lpOptionValue. Параметр TCP_NODELAY использует уровень IPPROTO_TCP; все другие варианты использования уровня SOL_SOCKET.

Значение Тип Значение
SO_ACCEPTCONN BOOL Прослушивание сокета.
SO_BROADCAST BOOL Сокет настраивается для передачи широковещательных сообщений.
SO_DEBUG BOOL Включена отладка.
SO_DONTLINGER BOOL Если значение равно true, параметр SO_LINGER отключен.
SO_DONTROUTE BOOL Маршрутизация отключена.
SO_ERROR int Получить состояние ошибки и очистить.
SO_KEEPALIVE BOOL Время отправки активность.
SO_LINGER структура ожидания Возвращает текущие параметры ожидания.
SO_OOBINLINE BOOL -Диапазона данных поступает в потоке обычных данных.
SO_RCVBUF int Получает размер буфера для.
SO_REUSEADDR BOOL Сокет может быть привязан к адресу, который уже используется.
SO_SNDBUF int Размер буфера для посылает.
SO_TYPE int Тип сокета (например, SOCK_STREAM).
TCP_NODELAY BOOL Отключает алгоритм Nagle для отправки объединения.

Не поддерживается для GetSockOpt варианты распространения программного обеспечения Беркли (BSD):

Значение Тип Значение
SO_RCVLOWAT int Получить метку низкого уровня.
SO_RCVTIMEO int Получить тайм-аут.
SO_SNDLOWAT int Отправить метку низкого уровня.
SO_SNDTIMEO int Отправить тайм-аут.
IP_OPTIONS Получить параметры в IP-заголовке.
TCP_MAXSEG int Получить максимальный размер TCP.

Вызов GetSockOpt с неподдерживаемого параметра приведет к код ошибки WSAENOPROTOOPT вернулся из GetLastError.

Обзор CAsyncSocket |nbsp; Члены класса | Иерархическая схема

См. также CAsyncSocket::SetSockOpt

Index