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

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

Реклама

Perl для IP-Телефонии (41 – Срочные данные TCP, часть 5)

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

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

Строки 1-6. Установка сокета. Создается сокет, подключенный к указанному хосту и порту. Данный хост может быть, к примеру, размещен на колокейшен сервере в дата-центре .

Строки 7-10. Установка обработчика сигнала. Устанавливается обработчик сигнала int, ко­торый выводит предупреждающее сообщение, а затем отправляет байт срочных данных через сокет с использованием следующей общей схемы:

send($socket,”!",MSG_OOB);

Необходимо также иметь возможность прекратить выполнение программы, поэтому перехва­тывается сигнал quit с помощью обработчика сигнала, который вызывает функцию exit (). В системах UNIX сигнал quit обычно выдается путем нажатия комбинации клавиш .

Строки 10-15. Главный цикл. Остальная часть программы— это просто цикл, который передает строку “normal data хх п” на сервер, наращивая значение хх после каждого прохода по цик­лу. После каждого вызова функции syswrite () цикл приостанавливается на 1 секунду. Напомним, что для тестирования программы можно использовать виртуальный сервер, например, от компании Телетауэр, которая также предлагает услуги размещения серверов и серверных стоек в собственном дата центре. Подробнее можно узнать, перейдя по ссылке .

Странная с виду конструкция “1 until sleep 1” гарантирует приостановку сценария не ме­нее чем на 1 секунду при каждом проходе по циклу. В ином случае выполнение функции sleep () будет прекращаться преждевременно при каждом нажатии клавиши прерывания, и интервал между операциями записи будет неравномерным.

После запуска клиентская программа выполняет тридцать проходов по циклу (примерно за 30 с) и завершает работу. При неоднократном нажатии клавиши преры­вания в течение этого времени можно видеть информационные сообщения.

 Теперь обратим внимание на сервер, который не намного сложнее клиента. Сервер устанавливает обработчик URG, который вызывается при каждом поступле­нии срочных данных в сокет. Однако чтобы сообщить операционной системе, что нужно доставить сигнал URG, необходимо связать идентификатор процесса PID с сокетом путем вызова функции fcntl () с командой F_SETOWN и параметром, равным этому PID.



2015-01-26 11:02:40

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


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


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


РЕКОМЕНДУЕМ

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