Протоколы Internet


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


ntohs

Преобразует порядок байтов 16-разрядных кодов из сетевого в машинный.

ethostname

Устанавливает имя ЭВМ.

setsockopt

Устанавливает опции соединителя.

shutdown

Закрывает один из концов дуплексного канала для местной ЭВМ.

socketpair

Генерирует пару соединителей.

Большинство перечисленных команд имеют развитую систему диагностики, кроме того, во многих реализациях Unix имеется много других полезных команд, описание которых вы можете найти в инструкциях по использованию системы Unix. Рассмотрим некоторые из них.

Программа ioctlsocket(s, long cmd, u_long FAR*argp) служит для получения параметров соединителя (выполнение не зависит от типа протокола и коммуникационной субсистемы). Аргумент cmd представляет собой код команды, которая будет выполнена для соединителя s, argp - указатель на параметр команды. Возможно применение команд: FIONBIO - разрешает/запрещает режим блокировки соединителя s (команда WSAAsyncSelect ставит соединитель в режим запрета блокировок автоматически). FIONREAD - определяет объем данных, которые могут быть автоматически считаны через соединитель s. SIOCATMARK - задает режим чтения приоритетной информации (для соединителей типа SOCK_STREAM.

Программа setsockopt(s, int level, int optname, const char far*optval, int optlen) устанавливает текущие значения опций для соединителя s. Аргумент level описывает уровень, на котором определена данная опция (например, SOL_SOCKET или IPPROTO_TCP). optname - имя опции, значение которой устанавливается, optval - указатель на буфер, где лежит значение опции, optlen - размер этого буфера. Для опции SO_LINGER - это размер структуры, для остальных - длина целого. При корректном исполнении setsockopt возвращает нуль, в противном случае SOCKET_ERROR. Программа setsockopt поддерживает следующие опции (BSD поддерживает и некоторые другие опции; колонка тип соответствует значению optval, таблица 7.2):

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

Опция

Тип

Назначение

SO_BROADCAST

булев

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

SO_DEBUG

булев

Осуществляет запись отладочных данных.

SO_DONTLINGER

булев

Разрешает закрытие без ожидания при наличии не отосланной информации. Эта опция эквивалентна SO_LINGER с l_onoff=0.

SO_DONTROUTE

булев

Запрет маршрутизации - отправка непосредственно интерфейсу.

SO_KEEPALIVE

булев

Посылка сообщения keepalive (“еще жив”)

SO_LINGER

структура

Задержка закрытия в случае наличия не отосланной информации.

SO_OOBINLINE

булев

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

SO_RCVBUF

целый

Определяет размер входного буфера

SO_REUSEADDR

булев

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

SO_SNDBUF

целый

Определяет размер выходного буфера

TCP_NODELAY

булев

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

<


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



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