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

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

Реклама

Perl для IP-Телефонии (47 – Сокеты домена UNIX , часть 5)

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

Функции, которые должны возвращать адреса сокетов, такие как getpeername (), getsockharhe () и recv (), при использовании с сокетами домена UNIX возвращают упакованные адреса домена UNIX. Эти адреса должны быть распакованы с помощью функции sockaddr_un () или unpасk_sосkaddr_un () для выборки полного имени файла, предназначенного для восприятия человеком. Таким образом это можно использовать в приложениях VoIP, к примеру для связки программного обеспечения и продукции IP-Телефонии http://gold-telecom.ru/ .

Следует учитывать, что некоторые версии Perl содержат программную ошибку в процедурах, которые возвращают имена сокетов. В подобных версиях вызовы вер­сий функций sockaddr_un () и unpack_sockaddr_uri (): для работы с массивами за­вершаются неудачей. Это не так уж страшно, поскольку в приложениях для работы с сокетами домена UNIX не приходится обращаться к этой информации так же часто, как в приложениях TCP/IP. Однако если нужно получить в программе полное имя локального или удаленного сокета, эту программную ошибку Perl можно обойти, применив функцию unpack () с форматом “x2z” к значению, возвращенному функцией getpeername () или getsockname ().

$path = unpack "х2 z", getpeername(S);

Кроме того, в сокете домена UNIX, созданном клиентом, можно вызвать функцию connect () без вызова функции bind (), так же как и при работе с сокетом TCP/IP. В этом случае система создает невидимую оконечную точку связи и функция getsockname () возвращает полное имя, которое имеет длину, равную 0. Это подоб­но использованию в операционной системе временных портов для исходящих соединений TCP/IP.

Объектно-ориентированный интерфейс к сокетам домена UNIX

Объектно-ориентированный интерфейс к сокетам домена UNIX предоставля­ет стандартный модуль IO::Sосket. Достаточно, просто создать объект и использовать его наравне с объектом IO::Socket, предназначенным для работы по протоколу TCP/IP. Основные изменения, по сравнению с модулем IО:Socket::INET, заключаются в использовании конструктора объекта new (), который принимает другой набор ключевых параметров. В модуле IO::Socket::UNIX добавлены новые методы hostpath () и peerpath () (описанные ниже) и не поддерживаются методы, связанные с использованием протокола TCP/IP, такие как sockaddr(), sockport () , sockhost(), peeraddr() или peerport().



2016-01-27 17:32:58

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


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


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


РЕКОМЕНДУЕМ

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