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