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

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

Реклама

Perl для IP-Телефонии (46 – Многоадресная рассылка , часть 14)

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

IP__DROP__MEMBERSHIP. Эта опция позволяет выйти из группы многоадресной рассылки и прекратить членство в ней. Для установки этой опции применяются значения, аналогичные используемым в опции IP_ADD_MEMBERSHIP. В качестве рассылки может быть проведена информатизация пользователей локальной сети о новостях в мире Cisco технологий, а коммутаторах которой можно прочесть на сайте .

Напомним, что опции IP_MULTICAST_IF, IP_ADD_MEMBERSHIP и IP_DROP_MEMBERSHIP относятся к уровню IP, поэтому в вызове функции setsockopt () должен быть указан уровень опции, соответствующий номеру протокола IP, возвращенному функцией getprotobyname ().

Последние опции могут показаться более сложными в использовании, чем есть ил самом деле. Единственная сложность состоит в подготовке параметра ip_mreq для передачи функции setsockopt (). Для этого необходимо передать адрес группы функции inet_aton (), а затем объединить полученный результат с константой INADDR__ANY. В приведенном ниже фрагменте кода показано, как присоединиться к группе многоадресной рассылки, на этот раз с адресом 225.1.1.3.

my $mcast_addr = inet_aton('225.1.1.3');

ту $local_addr = INADDR__ANY;

ту $ip__mreq — $mcast__addr . $local__addr;

my $ip__level = getprotobyname ('IP')

or die "Can't get protocol: $! " ;

setsockopt ($sock, $ip__level, IP__ADD__MEMBERSHIP, $ip_mreq) or die "Can't join group: $!";

Для выхода из группы выполняется аналогичное действие, но с использованием константы IP_DROP_MEMBERSHIP. Перед выходом из программы можно не отменять регистрацию во всех группах. Об этом позаботится операционная система при унич­тожении сокета.

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

Модуль IO::Socket::Multicast

В настоящем разделе разработан небольшой Модуль, который значительно упро­щает получение и установку опций многоадресной рассылки. Как и модуль IO::Interface, описанный ранее, данный модуль разработан только на языке Perl и позволяет получить системные константы из файлов .ph, сгенериро­ванных с помощью инструментального средства h2ph. Версию модуля IO::Multicast на языке С можно получить из архива CPAN, и если в вашей системе установлен транслятор С или C++, автор рекомендует установить этот модуль, чтобы не пришлось заниматься сложными действиями со сценарием h2ph.



2015-09-12 15:06:01

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


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


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


РЕКОМЕНДУЕМ

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