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

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

Реклама

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

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

Если метод new () был вызван с объектом приемного сокета IO::Socket, то этот сокет со­храняется в четвертой переменной состояния и вызывается метод add () модуля IO::Select для добавления этого приемного сокета к списку дескрипторов, контролируемых на наличие запросов, предназначенных для чтения. Это позволяет включить в программу код автоматиче­ского вызова метода accept ().

Строки 28-30. Метод sessions (). Метод sessions () возвращает список объектов IO::SessionData, которые были зарегистрированы с помощью этого модуля. Поскольку этот класс должен выполнять прямое и обратное преобразование объектов IO::SessionData и основополагающих дескрипторов, для которых эти объекты служат оболочкой, переменная состояния сеансов sessions фактически представляет собой хеш, ключами которого являют­ся объекты IO::Handle (как правило, сокеты) а значениями—соответствующие оболочки IO::SessionData. Метод sessions () возвращает значения этого хеша.

Строки 31-39. Метод add(). Метод add () вызывается для добавления дескриптора к кон­тролируемому набору. Он принимает дескриптор файла и необязательный флажок, который указывает, что дескриптор предназначен только для записи.

Вызывается метод IO::SessionData->new() для создания нового объекта сеанса, после че­го дескриптор и его вновь созданный объект сеанса добавляются к списку дескрипторов, кон­тролируемых набором объектов сеанса IO::Session-Set. В результате выполнения метода создается объект сеанса.

Этот метод имеет одну интересную особенность. Поскольку необходимо иметь возможность создавать подкласс класса IO::SessionData в будущем, в методе add () имя класса сеанса жестко Не закодировано. Вместо этого, объект сеанса создается косвенно, через внутренний метод SessionDataClass(). Этот метод возвращает строку, которая будет использоваться как класс объекта сеанса, в данном случае “IO::SessionData”.

2014-09-11 12:36:13

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


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


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


РЕКОМЕНДУЕМ

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