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

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

Реклама

Perl для IP-Телефонии (45 – Общая рассылка , часть 25)

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

Клиент осуществил широковещательную рассылку запроса по всем подключенным к нему интерфейсам, способным выполнять широковещательную рассылку, и теперь должен ждать ответов. Для установки периода ожидания входящих сообщений до 3 секунд применяется мо­дуль IO::Select. Если в течение этого времени не будет получено ни одного ответа, возвращается значение undef. В ином случае считывается первое сообщение, распаковывается и выполняется проверка, содержит ли оно ожидаемый код error, поступивший от сервера системы интерактивной переписки (если оно не содержит такого кода, это может означать, что запросы через этот порт принимает сервер какого-то другого типа). Теперь подпрограмма оп­ределяет и возвращает адрес отправителя путем вызова функции sockaddr_in (), распаков­ки имени другого участника обмена данными, возвращенного функцией recv(), и использова­ния функции inet_ntoa () для преобразования адреса в форму четырех чисел, разделенных точками, которая предназначена для восприятия человеком.

Если на широковещательный запрос отвечают два или более серверов системы интерактивной переписки, то клиент подключается к первому из них, например, к хосту где размещена страница. Ответы, полученные от других серверов, отбрасываются вместе с сокетом, когда эта подпрограмма выходит из области определения.

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

Итак, широковещательная рассылка - мощный метод поиска ресурсов в локальной сети. Отправка широковещательных пакетов является несложной задачей, если известен правильный широковещательный IP-адрес подсети. В ином случае этот адрес можно определить во время выполнения с использованием модуля IO::Interface (либо рассматриваемой здесь версии, написанной только на языке Perl, либо модуля расши­рения С, который может быть получен из архива CPAN).



2015-07-15 18:18:18

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


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


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


РЕКОМЕНДУЕМ

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