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

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

Реклама

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

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

Задача получения широковещательных пакетов еще проще. Любой дейтаграмм­ный сервер, к примеру, содержащий хост про люстры http://www.haldi.ru/svet/lyustry/ , принимает широковещательные сообщения без каких-либо дополнений в программе.

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

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

Строки 1-12. Инициализация модулей и констант. Вводится флажок в верхней строке файла, что приводит к включению режима проверки потенциально опасных данных интерпре­татора Perl. Определяется константа eliza_home и другие константы.

Строки 13,14. Установка обработчиков term и hup. Устанавливаются подпрограммы do_jterm() и do_hup (), соответственно, в качестве обработчиков сигналов term и hup. Уста­навливается также подпрограмма do_term() как обработчик сигнала int.

Строка 15. Выборка номера порта из командной строки. Эта строка немного изменена так, чтобы параметр с обозначением номера порта оставался в массиве @argv, а не выбирался из него с помощью оператора shift. Это сделано с той целью, чтобы процедура do_relaunh ()продолжала иметь доступ к параметрам командной строки.

Проведем анализ программы.

Строки 16-17. Загрузка модулей. Загружаются стандартные модули IO::*, а также модули Daemon и web. Последние два модуля должны быть установлены в текущем каталоге или в ка­ком-то другом, указанном в пути @inc интерпретатора Perl.

Строка 18. Определение констант. Определено имя файла PID, применяемого модулем Daemon. После автоматического перевода в фоновый режим этот файл будет содержать иден­тификатор серверного процесса.



2015-07-18 12:54:30

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


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


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


РЕКОМЕНДУЕМ

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