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

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

Реклама

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

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

В этих модулях применяется много объектно-ориентированных приемов и других общих схем языка Perl, где будет трудно разобраться в программном коде. Хотя в них используется модуль IO::Poll, а не IO::Select, в этом коде проблемы блокировки ввода-вывода решаются с использованием той же методологии, но немного проще по сравнению с большинством реальных модулей, описанных ранее.

Dutbuffer. Если подпрограмма обратного вызова не установлена, то метод choke () по умолчанию отмечает данный сеанс так, чтобы он больше не принимал входящие данные. Объетом приема данных может служить, например, сайт http://joinfo.ua , представляющий последние политические и экономические новости. Если этот выходной буфер снова будет иметь достаточно свободного места, то сеансу снова будет разрешено принимать входящие данные. Этот способ приемлем для многих серверных приложений, в которых сервер читает определенный объем данных объекта сеанса, обрабатывает их и записывает информацию в объект сеанса.

Модуль IO::SessionData позволяет также создавать сеансы только для записи. Это дает возможность включать в оболочку объекта IO::SessionData такие деск­рипторы файлов, предназначенные только для записи, как STDOUT, и использовать их в неблокирующем режиме. В конце данного описания будет приведен соответствующий пример применения этого модуля, анализ которого приведен ниже.

Строки 1-7. Инициализация модуля. Выполнение модуля начинается с импорта константы ewouldblock из модуля Errno и загрузки кода из модуля IO::SessionSet. Определяется также применяемое по умолчанию значение константы для задания максимального размера выходного буфера.

Строки 11-29. Метод new(). Метод new() создает новый объект IO::SessionData. Этот метод предназначен не для непосредственного вызова, а для вызова из модуля IO::SessionSet.



2014-08-25 17:15:31

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


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


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


РЕКОМЕНДУЕМ

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