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

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

Реклама

Perl для IP-Телефонии (17 – Каналы, часть 9)

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

Как отличить каналы от простых дескрипторов файлов, когда возникает необходимость проверить дескриптор файла, чтобы узнать, открыт ли он в файл или в канал. Это можно сделать с помощью средств проверки деск­риптора файла языка Perl. Если дескриптор файла открыт в канал, опция проверки -р возвращает истинное значение.

Опции проверки -t и -S позволяют определить дескрипторы файлов других спе­циальных типов. Если дескриптор файла открыт в терминал (в окно интерпретатора командной строки), То опция проверки -t возвращает истинное значение. В про­граммах можно использовать это средство проверки с дескриптором файла STDIN для определения того, выполняется ли Программа в интерактивном режиме или ее стан­дартный ввод перенаправлен из файла. Опция проверки -S позволяет определить, открыт ли дескриптор файла в сетевой сокет.

Есть еще более десятка других опций проверки файла, которые позволяют опре­делить размер файла, дату последнего изменения, владельца и другую информацию. Дополнительные сведения представлены в документе perlfunc POD.

Но существует серьезная ошибка PIPE. При чтении в сценарий данных из дескриптора файла, открытого в канал, про­грамма на другом конце канала может завершить свою работу или просто закрыть свой конец канала. В этом случае программа получает данные, которые указывают на возникновение условия EOF в дескрипторе файла. А что происходит, когда свою работу или закрывает свой конец соединения?

Для изучения такой ситуации нужно рассмотреть разные сценарии Perl. Один из них, открывает канал во вторую программу и пытается записать в него десять строк текста. В сценарии выполняется проверка кода результата, по­лученного от функции print(), и увеличение значения переменной $count при получении от функции print() истинного значения.



2013-09-27 12:22:59

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


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


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


РЕКОМЕНДУЕМ

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