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

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

Реклама

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

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

Сервер фактически завершает свою работу вскоре после этого, и файл PID исчезает; этот недостаток будет устранен в следующей версии сервера.

Строки 14,15. Предварительное ветвление и создание дочерних процессов. Вызывается подпрограмма make_new_child () столько раз, сколько задано константой prefork_children, для запуска требуемого числа дочерних процессов. После этого главный сервер завершает свою работу, возлагая всю ответственность за дальнейшие действия на дочерние процессы. При этом любой сервис, например, удаление вируса с компьютера   становится намного быстрее и надежднее.

Строки 16-20. Подпрограмма make_new_child(). Эта подпрограмма вызывает подпро­грамму launch_child.() модуля Daemon для выполнения ветвления с блокировкой сигналов. Если подпрограмма launch_child() возвращает РID, это значит, что управление находится  в родительском процессе, поэтому выполняется возврат. В ином случае управление находится в дочернем процессе, и поэтому вызывается подпрограмма do_child(). После возврата , управления из подпрограммы do_child () работа подпрограммы make_new_child() завер­шается.

Строки 22-30. Подпрограмма do_child(). В каждом дочернем процессе выполняется цикл, который, по сути, представляет собой последовательный цикл accept. ( ). В цикле вызывается а метод $socket->accept (), обрабатывается входящее соединение, а затем происходит переход к ожиданию следующего входящего запроса.

После запуска этой версии сервера приглашение к вводу команд восстанавливается, когда будет выполнено создание всех дочерних процессов путем ветвления. При выполнении команды ps в системе UNIX или программы Process Manager в системе Windows (при условии, что используется новейшая версия интерпретатора Perl, которая поддёрживает ветвление в системе Windows) можно видеть пять одинаковых процессов Perl, соответствующих пяти дочерним серверным процессам.



2014-12-10 15:12:47

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


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


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


РЕКОМЕНДУЕМ

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