Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (21 – Протокол TCP, часть 13)

предыдущая часть ««»» следующая часть
Однако функции getsockopt() и setsockopt() иногда применяются для корректировки опций протоколов TCP или UDP, и в этом случае в качестве второго параметра должен быть указан номер протокола, возвращенный функцией getprotobyname().

Третий параметр, $option_name,— целочисленное значение, выбранное из обширного списка возможных констант. Последний, четвертый параметр, $option_value, представляет собой допусти­мое значение, которое должно быть присвоено опции; при получении недопустимого значения функция возвращает undef. При успешном выполнении функция getsockopt() возвращает значение, затребованное опцией, а в ином случае - undef. В случае успешного выполнения, если опция была успеш­но установлена, функция setsockopt() возвращает истинное значение, в ином случае - undef .

Значение опции часто представляет собой логический флажок, который указывает, должна ли быть опция включена или выключена. В данном случае для установки или определения значения этой опции не требуется специальный код. Например, ниже показано, как установить истинное значение опции SO_BROADCAST (широковещательная рассылка).

setsockopt(SOCK,SO_SOCKET, SO_BROADCAST, 1);

Далее показано, как выбрать текущее значение этого флажка,

my $reuse = getsockopt(SOCK,SO_SOCKET,SO_BROADCAST);

Однако для некоторых опций применяются целые числа или более сложные типы данных, такие как структуры timeval языка С. В этом случае необходимо упако­вывать значения в двоичную форму перед передачей функции setsосkopt() и распаковывать их после вызова функции getsockopt(). Ниже показано, как рас­паковать значение максимального размера буфера, применяемого в сокете для хра­нения исходящих данных. Опция SO_SNDBUF представлена в виде упакованного це­лого числа (формат Т).

$send = unpack (getsockopt ($sock, SO_SOCKET, SO_SNDBUF) ) ;



2013-10-30 13:31:55

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2025 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония