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

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

Реклама

Perl для IP-Телефонии (35 – Мультиплексные приложения, часть 15)

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

Если переменная $bytes имеет положительное значение, то получены данные, требуют обработки. Выполняется обработка данных и передача их методу one_line () объекта Eliza, который принимает строку, введенную пользователем, и возвращает ответ. Для отправки это­го ответа клиенту вызывается метод syswrite () . Если переменная $bytes равна 0 или име­ет значение undef, этот результат рассматривается как признак конца файла и поэтому про­исходит переход к следующему разделу кода для закрытия сеанса.


Написание дипломной работы это ответственный шаг любого студента, который завершает свое обучение. Помощником в этом деле может стать сайт http://sesija.ru/ позволяющий облегчить набор выпускной работы по ряду специальностей. Квалифицированные специалисты грамотно подберут необходимый материал и дадут необходимые консультации.

9) Выполнение действий для завершения сеанса. Последняя часть этого цикла отвечает за закрытие сеансов.

Сеанс должен быть закрыт, если возникла одна из следующих двух ситуаций. Во-первых, код результата 0, полученный от функции sysread(), указывает, что клиент закрыл свой конец соединения. Во-вторых, пользователь ввел одну из нескольких заключительных фраз, распо­знаваемых сервером Eliza, таких как "bye", “quit” или “goodbye”. В этом случае метод done () сервера Eliza возвращает истинное значение.

Выполняется проверка наличия обеих ситуаций. В любом случае происходит удаление сокета из списка дескрипторов, контролируемых объектом IO:: Select, его закрытие и удаление из хеша %sessions.

Обратите внимание, что полученный от функции sysread() код возврата fcflrief, который указывает на ошибку ввода-вывода любого типа, рассматривается так же, как конец файла. Зачастую этого вполне достаточно, но в сервере, который обрабатывает важные данные, может потребоваться проводить различия между сознательным закрытием соединения клиентом и ошибкой. В этом случае можно проверить переменную $bytes с помощью функции defined () для распознавания этих ситуаций.



2014-07-20 12:59:34

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


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


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


РЕКОМЕНДУЕМ

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