IO::Socket::UNIX(3p) Perl Programmers Reference Guide IO::Socket::UNIX(3p)

IO::Socket::UNIX(3p) Perl Programmers Reference Guide IO::Socket::UNIX(3p) #

IO::Socket::UNIX(3p) Perl Programmers Reference Guide IO::Socket::UNIX(3p)

NNAAMMEE #

 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets

SSYYNNOOPPSSIISS #

     use IO::Socket::UNIX;

     my $SOCK_PATH = "$ENV{HOME}/unix-domain-socket-test.sock";

     # Server:
     my $server = IO::Socket::UNIX->new(
         Type => SOCK_STREAM(),
         Local => $SOCK_PATH,
         Listen => 1,
     );

     my $count = 1;
     while (my $conn = $server->accept()) {
         $conn->print("Hello " . ($count++) . "\n");
     }

     # Client:
     my $client = IO::Socket::UNIX->new(
         Type => SOCK_STREAM(),
         Peer => $SOCK_PATH,
     );

     # Now read and write from $client

DDEESSCCRRIIPPTTIIOONN #

 "IO::Socket::UNIX" provides an object interface to creating and using
 sockets in the AF_UNIX domain. It is built upon the IO::Socket interface
 and inherits all the methods defined by IO::Socket.

CCOONNSSTTRRUUCCTTOORR #

 new ( [ARGS] )
     Creates an "IO::Socket::UNIX" object, which is a reference to a newly
     created symbol (see the "Symbol" package). "new" optionally takes
     arguments, these arguments are in key-value pairs.

     In addition to the key-value pairs accepted by IO::Socket,
     "IO::Socket::UNIX" provides.

         Type        Type of socket (eg SOCK_STREAM or SOCK_DGRAM)
         Local       Path to local fifo
         Peer        Path to peer fifo
         Listen      Queue size for listen

     If the constructor is only passed a single argument, it is assumed to
     be a "Peer" specification.

     If the "Listen" argument is given, but false, the queue size will be
     set to 5.

     If the constructor fails it will return "undef" and set the
     $IO::Socket::errstr package variable to contain an error message.

         $sock = IO::Socket::UNIX->new(...)
             or die "Cannot create socket - $IO::Socket::errstr\n";

     For legacy reasons the error message is also set into the global $@
     variable, and you may still find older code which looks here instead.

         $sock = IO::Socket::UNIX->new(...)
             or die "Cannot create socket - $@\n";

MMEETTHHOODDSS #

 hhoossttppaatthh(())
     Returns the pathname to the fifo at the local end

 ppeeeerrppaatthh(())
     Returns the pathanme to the fifo at the peer end

SSEEEE AALLSSOO #

 Socket, IO::Socket

AAUUTTHHOORR #

 Graham Barr. Currently maintained by the Perl Porters.  Please report all
 bugs at <https://github.com/Perl/perl5/issues>.

CCOOPPYYRRIIGGHHTT #

 Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl itself.

perl v5.36.3 2023-02-15 IO::Socket::UNIX(3p)