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

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

Реклама

Perl для IP-Телефонии (39 – предобработка мультипроцессов, часть 13)

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

Итак опишем этот код.

Строки 16-18. Инициализация сервера. Вызывается процедура init server () модуля Daemon для создания файла РID сервера, автоматического перевода в фоновый режим и ини­циализации ведения журнала.

Строки 19-30. Главный цикл приема. Программа входит в цикл, в котором вызывается функция accept (), производится ветвление с созданием дочернего процесса для обслужива­ния соединения, после чего выполнение цикла продолжается. Цикл закончится только после того, как обработчик прерывания int или term установит глобальную переменную $done рав­ной истинному значению.

Такая конструкция программы имеет один недостаток — основную часть времени цикл проводит в состоянии, заблокированном в результате вызова функции accept (), поэтому, вероятно, сигнал к завершению работы будет получен во время этого системного вызова. Однако accept () представляет собой один из тех медлен­ных вызовов системы ввода-вывода, в отличии от прикладных программ сопряжения, которые автоматически перезапускаются после прерывания по сигналу. Хотя переменная $DONE установлена равной истинному значению, сервер примет еще одно, последнее входящее соединение, прежде чем обна­ружит, что настало время завершить работу. Однако желательно, чтобы сервер завершил работу немедленно.

В предыдущей версии сервера с ветвлением мы должны были выбрать один из двух вариантов: либо предусмотреть немедленное уничтожение серверного процесса обработчиком прерывания, либо использовать механизм тайм-аута модуля IO::Socktfl для обеспечения возможности прерывания работы функции accept ().

2014-12-06 21:55:06

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


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


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


РЕКОМЕНДУЕМ

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