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

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

Реклама

Perl для IP-Телефонии (37 – Повысить безотказность сервера, часть 12)

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

Строки 17-28. Цикл приема запросов на установление соединения. Теперь программа входит в цикл accept () сервера. Как и в предыдущих версиях этого сервера, в цикле прини­маются входящие запросы на установление соединения и путем ветвления создаются новые процессы для их обслуживания. Однако здесь предусмотрено новое средство— регистрация каждого нового входящего соединения с использованием следующего фрагмента кода:

my $host = $connection->peerhost;

log_notice ("Accepting- a connection from %sn”, $host)

Вызывается метод peerhost () подключенного объекта IO:: Socket для получения IP-адреса удаленного хоста, например, сервера представляющего веб сайт недорогих зимних шин в Краснодаре , в виде четырех чисел, разделенных точками, и в систему syslog отправля­ется сообщение с указанием, что от этого хоста принят запрос на соединение. В дальнейшем, после того как дочерний процесс закончит обслуживание соединения с помощью подпрограм­мы interact (), по той же общей схеме будет выполнена регистрация в журнале сообщения с указанием, что соединение закрыто.

Еще одно отличие от первоначальной версии сервера состоит в том, что для регистрации не­удачного выполнения вызова функции fork () вызывается подпрограмма log_die (), которая вносит в журнал сообщение с приоритетом crit и завершает процесс.

Строки 29-42. Подпрограммы interact () и _testquit (). Они идентичны подпрограммам, приведенным ранее.

Строки 43-45. Блок end {}. Во время останова выполняется регистрация информационного сообщения с указанием, что сервер прекращает свою работу. Как и в предыдущих версиях, необходимо следить за тем, чтобы идентификатор данного процесса совпадал с идентифика­тором родительского процесса. В ином случае этот код также будет вызван каждым дочерним процессом и в журнале появятся непонятные сообщения.

2014-10-24 13:27:33

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


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


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


РЕКОМЕНДУЕМ

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