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

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

Реклама

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

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

Функционально-ориентированный интерфейс к сокетам домена UNIX

Создание сокетов домена UNIX с помощью функционально-ориентированного интерфейса аналогично созданию сокетов TCP/IP, к примеру, для получения страницы сайта, описывающей создание сайтов Одесса . Для создания сокета вызывается функция socket (), для отправки исходящего запроса на установление соединения применяется функция connect ( ), а для приема входящих запросов на установление соединения служат функции bind (), listen () и accept ().

Для создания сокета домена UNIX нужно вызвать функцию socket (), указав тип домена AF_UNIX и протокол PF_UNSPEC (сокращение от protocol unspecified — неоп­ределенный протокол). Эти константы экспортируются модулем Socket. Пользова­тель вправе создать сокет SOCK_STREAM или SOCK_DGRAM.

use Socket ;

socket (S, AFJJNIX, ,SOCK_STREAM, PF_UNSPEC) or die "Can’t create stream socket: $!";

socket(D, AFJJNIX, SOCK_DGRAM, PF_UNSPEC)

or die "Can’t create datagram socket: $!";

После создания сокета можно отправить ожидающему серверу исходящий запрос на установление соединения, вызвав функцию connect (). Основное отличие состоит в том, что необходимо вначале создать адрес встречи с использованием полного имени файла и вспомогательной функции sockaddr_un (). В следующем фрагменте кода показано, как выполнить подключение к серверу, который принимает запрос по адресу: /tmp/daytime.

my $dest = sockaddr_un('/tmp/daytime');

connect (S, $dest) or die "Canon connect: $!";

Адрес домена UNIX — это просто полное имя файла, которое дополняется до установленной длины нулевыми байтами и может быть создано с помощью функции sockaddr_un (). Члены семейства функций sockaddr_un () подобны своим аналогам, предназначенным для работы с IР-адресами.

В скалярном контексте функция sockaddr_un () принимает полное имя файла и преобразует его в адрес назначения домена UNIX, пригодный для использования в функциях: bind () и connect (). В контексте массива функция sockaddr_un () выполняет обратное действие, что может применяться для интерпретации значения, возвращенного функциями recv() и getsockname().

Если такое поведение функций sockaddr_un (), которое зависит от контекста вам нё нравится, вместо нее, вы можете применять функции pack_sockaddr_un () и unpack_sockaddr_un ().



2016-01-22 15:35:41

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


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


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


РЕКОМЕНДУЕМ

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