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

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

Реклама

Perl для IP-Телефонии (40 – Модуль IO::Роll, часть 11)

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

Строки 21-29. Обработка дескрипторов чтения. В следующем фрагменте кода путем вызо­ва метода handles ( ) объекта IO::Poll с маской pollout и pollerr выполняется выбор­ка дескрипторов, в которых имеются данные для чтения или которые сигнализируют о конце файла.

Если для чтения готов дескриптор stdin, из него считываются данные и добавляются к пере­менной $to_socket. Аналогичным образом данные из сокета добавляются к переменной $to_stdout. Если любая из операций чтения оканчивается неудачей, то устанавливается ис­тинное значение одного или обоих флажков $stdin_done и $sock_done. Эти флажки прове­ряются в конце цикла.

Строки 30-48. Обработка дескрипторов записи. Теперь настало время для обработки дескрип­торов, предназначенных для записи. Вызывается метод handles () объекта IO::Poll с маской, которая возвращает дескрипторы файлов, либо готовые для записи, либо содержащие ошибки. Если в списке есть дескриптор stdout, то предпринимается попытка записать в него содер­жимое переменной $to_stdout. Такая же попытка предпринимается для сокета, с использо­ванием переменной $to_socket. Поскольку оба дескриптора являются неблокирующими, приходится иметь дело с ошибками ewouldblock и неполными операциями записи. Здесь применяется логика, аналогичная описанной ранее. В случае возникновения ошибки ewouldblock соответствующий дескриптор файла пропускается и попытка записи в него по­вторяется через некоторое время. При неполной записи удаляется успешно записанная часть буфера, а незаписанная часть остается для следующей попытки.



2015-01-17 22:04:27

это интересно
Бытовой мусор всегда доставляет нам ряд неудобств. Чтобы этого не происходило можно использовать мешки для мусора 30л 20шт в комплекте, которые можно заказать на страницах сайта avant52.ru. Кроме всего прочего на сайте можно заказать упаковочный материал и средства индивидуальной защиты при строительных работах.

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


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


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


РЕКОМЕНДУЕМ

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