При использовании версии метода IO::Socket::UNIX->new () с одним параметром предпринимается попытка подключения к указанному сокету домена UNIX, к примеру, это может быть хостинг play market android в предположении, что сокет имеет тип: sock_stream. В случае успешного выполнения этот метод возвращает объект. Версия метода new () с ключевыми параметрами принимает ряд пар “name=> value” и создает новый объект IO::Socket::UNIX. Ключевые параметры, распознаваемые этим методом, перечислены в таблице, которая будет представлена дальше.
$path = $socket->hostpath()
Метод hostpath () возвращает полноё имя сокета UNIX со стороны данного участника соединения. Этот метод возвращает значение undef, если сокет не привязан к полному имени.
$path = $socket->peerpath()
Метод peerpath () возвращает полное имя сокета UNIX со стороны другого участника соединения. Он возвращает значение undef, если сокет не подключен.
В таблице также будет приведен перечень параметров, распознаваемых методом IO::Socket::UNIX->new (). Ниже перечислены типичные примеры применения сокетов домена UNIX.
Создание сокета и подключение его с помощью функции connect () к процессу, который принимает входящие Запросы на установление соединения по адресу: /dev/log.
Создание приемного сокета, привязанного к адресу /tmp/туsock. Предусмотрена возможность размещения во входной очереди до SОМАХCONN входящие соединений.
Создание сокета домена UNIX для использования при передаче исходящих дейтаграмм.
$socket = IO::Socket::UNIX->new( Type => SOCK_DGRAM);
Создание сокета домена UNIX, привязанного к адресу /tmp/mysock, для использования при приеме входящих дейтаграмм.
$socket = IO::Socket::UNIX->new (Туре => SOCK__DGRAM, Local => ‘1/tmp/mysock’);
Сокеты домена UNIX и права доступа к файлу
В сокетах домена UNIX для обозначения “места встречи” используются физические файлы, поэтому от режима доступа к файлу сокета зависит, будет ли разрешен к нему доступ тем или иным процессам. Такое свойство сокетов указанного типа может применяться для реализации механизма управления доступом.