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

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

Реклама

Perl для IP-Телефонии (22 – IO::Socket, часть 1)

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

Ранее был описан встроенный интерфейс Perl к сокетам Berkeley, который полностью повторяет соответствующие вызовы библиотеки С. Однако не­которыми из этих встроенных функций неудобно пользоваться, поскольку для их вы­зова приходится преобразовывать адреса и другие структуры данных в двоичные форматы, необходимые для работы с библиотекой сокетов С.

С появлением объектно-ориентированных расширений Perl5 стало возможным создание более удобного интерфейса, который основан на использовании модуля IO::Handle. Модуль IO::Socket и другие связанные с ним модули позволяют упростить код и сделать его более легким для чтения. Эти модули дают возможность устранить громоздкие вызовы, относящиеся к средствам языка С, и сосредоточиться на сути приложения.

Применение модуля IO::Socket. Теперь мы можем исправить небольшой недостаток первых версий примеров служб времени (который не был тогда устранен в целях упрощения кода). Как и во многих других серверах Internet, в сервере службы времени для обозначения конца строки предусмотрено применение символов CRLF, а не одного символа LF. Перед получением данных от службы времени переменная с обозначением конца строки устанавливается равной CRLF, поскольку в ином случае считанная строка будет содержать в конце лишний символ CR. Рассмотрим этапы для нового сценария:

Инициализация модуля. Выполняется загрузка модуля IO::Socket и импорт константы CRLF, а также констант, предусмотренных по умолчанию. Эти константы удобно снова экспортировать из модуля Socket. Имя удаленного хоста берется из командной строки. Далее - установка переменной с обозначением конца строки. Для чтения строк из серверной службы времени глобальная переменная $/ с обозначением конца строки устанавливается равной CRLF. Обратите внимание, что эта глобальная опция распространяется на все деск­рипторы файлов, а не только на сокет.



2013-11-07 12:44:12

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


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


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


РЕКОМЕНДУЕМ

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