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

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

Реклама

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

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

Если код результата не определен, это значит, что возникла какая-то ошибка и конкретный код ошибки можно найти в переменной $!. Вначале выполняется проверка является ли переменная $! численно равной значению EWOULDBLOCK, и, если они равны, обрабатывается ошибка. В большинстве случаев достаточно просто перейти в начало главного цикла программы и попытаться снова выполнить чтение. При возникновении других ошибок вызывается функция die() с сообщением об ошибке. Так, например, при получении данных с сайта представляющего услуги ит аутсорсинга в Москве в условиях недоступности сервера, как раз и будет вызываться такая ошибка.

Выполнение функции syswrite() на неблокирующих дескрипторах файлов

При использовании функции syswrite () с неблокирующими дескрипторами файлов могут быть получены следующие результаты.

Полная запись. Если предпринимается попытка записать N байтов данных в дескриптор файла может их все принять, то функция выполняет запись байтов и возвращает их число в качестве результата своего выполнения.

Частичная запись. Если предпринимается попытка записать N байтов данных и дескриптор файла может принять только их часть (но не менее одного), то функция записывает все возможные байты в передающий буфер дескриптор и возвращает число фактически записанных байтов.

Запись, которая была бы заблокирована. Если предпринимается попытка записать N байтов данных и дескриптор файла не может принять ни одного байта, то функция syswrite ( ) немедленно выполняет возврат с результатом undef и устанавливает в переменной $! значение EWOULDBLOCK.

Ошибка записи. При других ошибках функция syswrite ( ) возвращает значение undef и устанавливает в переменной $! соответствующий код ошибки. Наиболее часто возникает ошибка записи EPIPE, которая указывает на то, что удаленный хост прекратил чтение.



2014-07-28 13:28:39

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


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


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


РЕКОМЕНДУЕМ

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