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

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

Реклама

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

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

Не следует путать версию select () с четырьмя параметрами и версию с одним параметром, описанную ранее. Последняя применяется для выбора дескриптора файла, используемого по умолчанию с функцией print (). Подробное описание встроенной функции select () приведено в справочном ру­ководстве perlfunk.

Определение готовности дескриптора файла к вводу-выводу.

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

Дескрипторы файлов, каналы и сокеты готовы для чтения при следующих условиях.

1) Дескриптор файла содержит данные, ожидающе обработки. Если во входном буфере дескриптора файла (приемного буфера в случае сокетов) содержится хотя бы один байт данных, метод select() указывает, что дескриптор файла готов для чтения. Функция sysread ( ), выполняемая с этим дескриптором файла, не блокируется и возвращает число считанных байтов.

Для сокетов это правило может быть изменено путем установки “нижней от­метки” приемного буфера, как описано в следующем разделе.

2) Дескриптор файла содержит признак конца файла. Метод select () указывает, что дескриптор файла готов для чтения, если при выполнении следующей опе­рации чтения будет возвращен признак конца файла. При следующем вызове функции sysread ( ) будет возвращено числовое значение 0 без блокировки. Та­кая ситуация в обычных дескрипторах файлов возникает при достижении конца файла, а в сокетах TCP — при закрытии соединения удаленным хостом.

3) Дескриптор файла содержит сообщение об ошибке, ожидающее обработ­ки. В результате возникновения любой ошибки ввода-вывода в дескрипто­ре файла метод select () также указывает, что дескриптор готов для чте­ния, а функция sysread ( ) возвращает значение undef и устанавливает в переменной $! код ошибки.



2014-07-11 13:14:29

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


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


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


РЕКОМЕНДУЕМ

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