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

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

Реклама

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

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

Строки 24-30. Обслуживание старых сеансов. Если хеш %SESSI0NS указывает, что этот сеанс уже встречался, то выполняется выборка соответствующего объекта Eliza. Считывается строка ввода путем вызова метода getline () модуля SessionData. Этот метод действует аналогично методу IO::Getline->getline (), разработанному ранее, возвращая код результата, который указывает число считанных байтов, и помещая данные в свой скалярный параметр. Данный модуль показывает хорошие результаты на платформах Unix, например на серверах имеющими хостинг в Европе или других частях света.

Если число считанных байтов является положительным, это значит, что получена полная строка. Удаляются символы обозначения конца строки, ввод пользователя передается методу one_line () объекта Eliza, а результат передается методу write () объекта сеанса.

 Строка 31. Закрытие завершенных сеансов. Если метод getline () возвращает ложное значение, значит, клиент закрыл свой конец соединения. Вызывается метод close () текущего объекта сеанса и сеанс удаляется из списка сеансов, контролируемых объектов IO::LineBufferedSet. То же действие выполняется, если пользователь прекратил сеанс, введя “goodbye” или другое завершающее слово.

Как и метод IO::SessionData->read(), метод IO::LineBufferedSa->getline () возвращает 0 при обнаружении конца файла; значение 0Е0, если функция чтения была бы заблокирована; и undef — при возникновении различных аварийных ситуаций.

Обратите внимание, что после чтения никогда не выполняется явная проверка кода результата 0Е0. Если метод getline () завершается неудачей, он возвращает ложное значение (0 — в конце файла и undef — в случае ошибки).

2014-08-25 12:58:37

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


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


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


РЕКОМЕНДУЕМ

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