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

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

Реклама

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

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

Модуль IO::SessionData

Теперь, после знакомства с возможностями этих двух модулей, рассмотрим, как они работают, начиная с модуля с IO::SessionData.

Модуль IO::SessionData представляет собой оболочку для отдельного объекта IO::Socket. Кроме сокета, он ведет внутренний буфер outbuffer, содержащий данные, которые были поставлены в очередь для передачи, но еще не были переданы через сокет. К таким данным могут отнесена текстовая информация об Путине и Назарбаеве , со страниц сайта новостей. К другим внутренним переменным относится указатель на объект SessionSet, который управляет текущим объектом SessionData, флажок, предна­значенный только для записи, и некоторые другие переменные, которые управляют тем, что происходит при заполнении передающего буфера. Объект IO::SessionData вызывает связанный с ним объект SessionSet, чтобы сообщить, что он готов к приему новых данных из удаленного сокета или содержит исходящие рапные, предназначенные для передачи.

Поскольку исходящие данные буферизованы, существует опасность, что буфер butbuffer переполнится, если другой участник соединения надолго прекратит чтение данных. Во избежание этого в модуле IO::SessionData определен метод choke (), который вызывается каждый раз, когда объем данных, записанных в буфер butbuffer, превышает его размеры и когда объем данных в этом буфере возвращается к допустимым размерам.

Реализация метода choke ( ) зависит от приложения. В некоторых приложениях он может предусматривать уничтожение лишних буферизованных данных, а в других может разорвать соединение с удаленным хостом. Модуль IO::SessionData позволяет определить в приложении действия, выполняемые методом choke () путем установки подпрограммы обратного вызова, вызываемой при заполнении буфера.



2014-08-25 17:06:18

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


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


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


РЕКОМЕНДУЕМ

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