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

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

Реклама

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

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

Если полный заголовок еще не получен, просто выполняется возврат. Главный цикл предоста­вит еще одну возможность выполнить чтение из этого сокета в следующий раз, когда метод select () укажет, что он готов для чтения. В ином случае выполняется интерпретация самой верхней строки, а также выборка кода и сообщения состояния протокола HTTP. Если код со­стояния указывает, что произошла ошибка протокола HTTP любого типа, вызывается метод error () и возвращается значение undef. В ином случае выполняется подготовка к переходу в состояние “reading body”. ()днако необходимо учитывать то, что последняя операция sysread могла выполнить чтение за пределами заголовка и захватить часть самого доку­мента. Поскольку известно, где оканчивается заголовок, просто извлекаются данные докумен­та с использованием функции substr () и вызывается метод write_local () для записи до­кумента в локальный файл. Метод write_local () будет вызываться повторно при выполне­нии последующих этапов для записи оставшейся части документа в локальный файл. Устанавливается значение переменной состояния status, равное “reading body”, и выпол­няется возврат.


Различные цели организации веб представительств накладывают особые требования и на ресурсы будущего хостинга. Для малых проектов с небольшой посещаемостью вполне подойдет виртуальный хостинг, а вот для проектов требующих большей функциональности потребуется vps хостинг , vds или даже полный сервер, установленный в стойку дата центра. Каждый вид хостинга обладает своими индивидуальными особенностями, о которых можно подробнее узнать на сайте хостера.

Строки 94-100. Метод read_body (). Код метода read_body() исключительно прост. Вызы­вается функция sysread() для чтения данных с сервера фрагментами по 1024 байта и вы­полняется передача их методу write_local () для копирования данных документа в локаль­ный файл. Если во время чтения или записи возникают какие-либо ошибки, возвращается зна­чение undef. Значение undef возвращается и в том случае, если функция sysread () возвращает 0 байт, что указывает на получение признака конца файла EOF.



2014-10-08 23:45:56

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


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


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


РЕКОМЕНДУЕМ

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