
Net::UNIX::Server - UNIX-domain sockets interface module for listeners

use Socket; # optional
use Net::Gen; # optional
use Net::UNIX; # optional
use Net::UNIX::Server;

The Net::UNIX::Server module provides additional services for UNIX-domain socket communication. It is layered atop the Net::UNIX and Net::Gen modules, which are part of the same distribution.
The following methods are provided by the Net::UNIX::Server module itself, rather than just being inherited from Net::UNIX or Net::Gen.
Usage:
$obj = new Net::UNIX::Server;
$obj = new Net::UNIX::Server $pathname;
$obj = new Net::UNIX::Server $pathname, \%parameters;
$obj = 'Net::UNIX::Server'->new();
$obj = 'Net::UNIX::Server'->new($pathname);
$obj = 'Net::UNIX::Server'->new($pathname, \%parameters);
Returns a newly-initialised object of the given class. This is much like the regular new methods of other modules in this distribution, except that it does a bind rather than a connect, and it does a listen. Unless specified otherwise with a type object parameter, the underlying socket will be a datagram socket (SOCK_DGRAM).
The examples above show the indirect object syntax which many prefer, as well as the guaranteed-to-be-safe static method call. There are occasional problems with the indirect object syntax, which tend to be rather obscure when encountered. See <URL:http://www.rosat.mpe-garching.mpg.de/mailing-lists/perl-porters/1998-01/msg01674.html> for details.
See Net::TCP::Server for an example of running a server. The differences are only in the module names and the fact that UNIX-domain sockets bind to a pathname rather than to a port number. Of course, that example is for stream (type = SOCK_STREAM) sockets rather than for datagrams. UNIX-domain datagram sockets don't need to do an accept() (and can't where I've tested this code), and can't answer back to their clients unless those clients have also bound to a specific path name.
Usage:
return undef unless $self = $self->init;
return undef unless $self = $self->init(\%parameters);
return undef unless $self = $self->init($pathname);
return undef unless $self = $self->init($pathname, \%parameters);
Verifies that all previous parameter assignments are valid (via checkparams). Returns the incoming object on success, and undef on failure. Usually called only via a derived class's init method or its own new call.
[See the description in "Protected Methods" in Net::Gen for my definition of protected methods in Perl.]
None.
There are no socket options known to the Net::UNIX::Server module itself.
There are no object parameters registered by the Net::UNIX::Server module itself.
None.
None.
The following :tags are available for grouping exportable items:
All of the above exportable items.

Spider Boardman <spider@Orb.Nashua.NH.US>