Протоколы Internet


Winsock (для UNIX, Windows- и -NT) - часть 10


/p>

Программа getsockopt(s, int level, int optname, char far*optval, int FAR* optlen) позволяет получить значение опции для любого типа соединителей. Значения параметров обращения аналогичны setsockopt. Ниже представлена таблица (7.3) поддерживаемых опций.

В среде Windows существуют аналоги (асинхронные) многих из приведенных выше операторов. Имена этих операторов имеют префикс WSA (Windows Socket Asynchronous). Асинхронными они названы по той причине, что их выполнение сопряжено с определенным диалогом и ни начало, ни завершение не ограничено какими-либо временными рамками. Список таких операторов представлен в таблицах 7.4 и 7.5 (версия windows socket 2.2).

Таблица 7.3. Опции соединителей для оператора getsockopt

Опция

Тип

Назначение

SO_ACCEPTCONN

булев

Соединитель в режиме listen

SO_BROADCAST

булев

Разрешена передача широковещательных сообщений

SO_DEBUG

булев

Отладочный режим разрешен

SO_DONTLINGER

булев

Если равен TRUE, SO_LINGER-опция запрещена

SO_DONTROUTE

булев

Запрет маршрутизации.

SO_ERROR

целое

Выдает статус ошибок

SO_KEEPALIVE

булев

Сообщение keepalive (“еще жив”) послано

SO_LINGER

структура

Возвращает текущие значения опции SO_LINGER

SO_OOBINLINE

булев

Принимает информацию, приходящуюю по независимым каналам, в общем потоке данных

SO_RCVBUF

целый

Сообщает размер входного буфера

SO_REUSEADDR

булев

Соединителю разрешено использовать адрес, который уже задействован

SO_SNDBUF

целый

Сообщает размер выходного буфера

SO_TYPE

целый

Тип соединителя (например, SOCK_STREAM)

TCP_NODELAY

булев

Использование алгоритма Нагля запрещено (tcp).

Таблица 7.4. Основные операторы winsock

Имя оператора

Назначение

WSAAsyncGetHostByAddr

Аналог оператора gethostbyaddr

WSAAsyncGetHostByAddr

Аналог оператора gethostbyaddr

WSAAsyncGetHostByName

Аналог оператора gethostbyname

WSAAsyncGetProtoByName

Аналог оператора getprotobyname

WSAAsyncGetProtoByNumber

Аналог оператора getprotobynumber

WSAAsyncGetServByName

Аналог оператора getservbyname

WSAAsyncGetServByPort

Аналог оператора getservbyport

WSAAsyncSelect

Функциональный аналог оператора select

WSACancelAsyncRequest

Прерывает выполнение операторов типа WSAAsyncget*by*

WSACancelBlockingCall

Прерывает выполнение блокирующего оператора приложения (API)

WSACleanup

Сообщает Windows sockets о завершении работы программы с DLL

WSAGetLastError

Выдает сообщение о последней ошибке

WSAIsBlocking

Определяет, является ли Winsock DLL блокирующей

WSASetBlockingHook

Устанавливает перехват блокирующего вызова

WSASet LastError

Фиксирует тип ошибки для последующего вызова WSALastError

WSAStartup

Инициализирует следующий уровень Winsock

WSAUNhookBlockingHook

Восстанавливает прежнюю блокировку.

<


Начало  Назад  Вперед



Книжный магазин