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

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

Реклама

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

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

Двунаправленные каналы.  Функция open(), применяемая для открытия канала, и функция pipe() создают однонаправленные дескрипторы файлов. Если нужно выполнять и чтение, и за­вись в другой процесс, это сделать не так-то просто. В частности, следующая синтаксическая конструкция, которая с виду кажется вполне приемлемой, работать не будет: open(FH,"|$cmd|");

Один из способов решения этой задачи состоит в том, что функция pipe() вызывается два раза и создаются две пары связанных дескрипторов файлов. Одна пара применяется для записи из родительского процесса в дочерний, а другая - из дочернего в родительский; это во многом аналогично тому, как движутся транспортные потоки по скоростному шоссе с двухсторонним движением. Здесь данный метод не рассматривается, но именно так применяются стандартные модули IPC::Open2 и IPC::ОреnЗ для создания дескрипторов файлов, подключенных к дескрипторам файлов STDIN, STDOUT и STDERR подпроцесса. 

Более изящный способ состоит в создании двунаправленного канала с помощью функции socketpair(). Эта функция создает два связанных дескриптора файлов, как и функция pipe(), но оба они предназначены не для односторонней связи, а для чтения/записи. Данные, записанные в один дескриптор файла, поступают из другого, и наоборот. Поскольку функция socketpair() основана на тех же принципах, что и функции socket(), применяемая для связи по сети.



2013-09-24 13:17:04

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


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


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


РЕКОМЕНДУЕМ

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