IO::Socket::UNIX3p
Object interface for af_unix domain sockets
Usage
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
Overview
"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.
Constructor
- 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 fifoPeer Path to peer fifoListen Queue size for listenIf 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::errstrpackage 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";
Methods
|
Returns the pathname to the fifo at the local end |
|---|---|
|
Returns the pathanme to the fifo at the peer end |
Releases
32 releases since OpenBSD 5.0; the text changed 20 times.