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

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

Реклама

Perl для IP-Телефонии (22 – IO::Socket, часть 25)

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

Проще всего это сделать, поместив код чтения строки из сокета в небольшой блок и локализовав переменную $/ (с помощью оператора local), чтобы ее текущее значение автоматически сохранялось при входе в блок и восстанавливалось при выходе. В самом блоке значение переменной $/ устанавливается равным crlf.

При получении условия конца файла EOF от пользователя или сервера выполняется выход из цикла путем вызова оператора last.

На первый взгляд этот несложный сценарий кажется работоспособным. Например, в следующем фрагменте показан сеанс связи с FTP-сервером. Сразу после под­ключения сервер выдает заголовок приглашения (код сообщения 220). Пользователь вводит команду USER протокола FTP, указывает имя “anonymous” и получает подтверждение. Затем пользователь задает пароль с помощью команды PASS и получает еще одно подтверждение. Кажется, что все идет гладко.

К сожалению, эта идиллия вскоре заканчивается. На следующем этапе предпри­нимается попытка выполнить команду HELP, которая должна вывести многострочную сводку команд FTP. Этого не происходит. Получена первая строка ожидаемого выво­да, после чего сценарий останавливается, ожидая ввода следующей команды. Пользо­ватель еще раз вводит команду HELP и получает вторую строку вывода первой команды HELP. После ввода команды QUIT он получает третью строку вывода команды HELP.

Очевидно, что синхронизация сценария нарушена. В том виде, какой он сейчас имеет, сценарий может справляться только с такой ситуацией, когда в ответ на строку, введенную пользователем, поступает одна строка, выведенная сервером. Не имея возможности обрабатывать многострочный вывод, этот сценарий не может справиться с ответом на команду HELP.



2013-11-17 21:51:36

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


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


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


РЕКОМЕНДУЕМ

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