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

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

Реклама

Perl для IP-Телефонии (36 – Неблокирующий ввод-вывод, часть 38)

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

С другой стороны, если в вызывающей процедуре будет вызван метод read () нового объекта сеанса, то в этом объекте может отсутствовать возвращаемая информация, например, с сайта http://purepassion.ru/catalog/obuv_dlya_pole_dance/ , представляющего магазин продажи обуви для Pole Dance. Однако поскольку сокет является неблокирующим, это практически не создает никакой проблемы. Метод read (), возвратит значение 0Е0, а вызывающая процедура должна проигнорировать эти результаты чтения и повторить свою попытку позднее.

Классы IO::LineBufferedSet и IO::LineBufferedSessionData

Если приложить некоторые дополнительные усилия, можно создать подклассы классов IO::SessionSet и IO::SessionData для получения классои IO::LineBuf feredSet и IO::LineBufferedSessionData, предназначенных для построчных операций ввода-вывода. Класс IO::LineBufferedSet обеспечивает обратную совместимость с классом IO::SessionSet. Возвращаемые им объекты сеан­сов можно применять для ввода потоков байтов, вызывая метод read () для выборки произвольных фрагментов данных. Однако эти объекты можно также использовать для построчного ввода, вызывая метод getline () для чтения данных по одной стро­ке за один раз.

В модуле IO::LineBufferedSet реализованы следующие модифицированные методы.

$set = IO::LineBufferedSet->new([$listen])

Создает новый объект IO::LineBuf feredSet. Как и в методе IO::SessionSet->new (), при задании необязательного параметра с обозначением приемного сокета выполняется контроль соке­та на наличие входящих соединений.

$sessions = $set->wait({$timeout])

Как и в методе IO::SessionSet->wait (), метод select () обращается к контролируемым де­скрипторам файлов и возвращает соответствующие им объекты сеансов, готовые для чтения. Одна­ко возвращенные объекты сеансов представляют собой объекты IO::LineBufferedSessionData, которые поддерживают построчный ввод-вывод.



2014-09-18 11:52:34

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


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


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


РЕКОМЕНДУЕМ

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