


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


NAME
       IO::Socket - Object interface to socket communications

SYNOPSIS
           use IO::Socket;


DESCRIPTION
       "IO::Socket" provides an object interface to creating and
       using sockets. It is built upon the the IO::Handle manpage
       interface and inherits all the methods defined by the
       IO::Handle manpage.

       "IO::Socket" only defines methods for those operations
       which are common to all types of socket. Operations which
       are specified to a socket in a particular domain have
       methods defined in sub classes of "IO::Socket"

       "IO::Socket" will export all functions (and constants)
       defined by the Socket manpage.

CONSTRUCTOR
       new ( [ARGS] )
           Creates an "IO::Socket", which is a reference to a
           newly created symbol (see the "Symbol" package). "new"
           optionally takes arguments, these arguments are in
           key-value pairs.  "new" only looks for one key
           "Domain" which tells new which domain the socket will
           be in. All other arguments will be passed to the con-
           figuration method of the package for that domain, See
           below.

            NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE

           As of VERSION 1.18 all IO::Socket objects have aut-
           oflush turned on by default. This was not the case
           with earlier releases.

            NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE


METHODS
       See the perlfunc manpage for complete descriptions of each
       of the following supported "IO::Socket" methods, which are
       just front ends for the corresponding built-in functions:












2001-05-24                 perl v5.6.1                          1





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


           socket
           socketpair
           bind
           listen
           accept
           send
           recv
           peername (getpeername)
           sockname (getsockname)
           shutdown

       Some methods take slightly different arguments to those
       defined in the perlfunc manpage in attempt to make the
       interface more flexible. These are

       accept([PKG])
           perform the system call "accept" on the socket and
           return a new object. The new object will be created in
           the same class as the listen socket, unless "PKG" is
           specified. This object can be used to communicate with
           the client that was trying to connect. In a scalar
           context the new socket is returned, or undef upon
           failure. In a list context a two-element array is
           returned containing the new socket and the peer
           address; the list will be empty upon failure.

       socketpair(DOMAIN, TYPE, PROTOCOL)
           Call "socketpair" and return a list of two sockets
           created, or an empty list on failure.

       Additional methods that are provided are:

       timeout([VAL])
           Set or get the timeout value associated with this
           socket. If called without any arguments then the cur-
           rent setting is returned. If called with an argument
           the current setting is changed and the previous value
           returned.

       sockopt(OPT [, VAL])
           Unified method to both set and get options in the
           SOL_SOCKET level. If called with one argument then
           getsockopt is called, otherwise setsockopt is called.

       sockdomain
           Returns the numerical number for the socket domain
           type. For example, for a AF_INET socket the value of
           &AF_INET will be returned.

       socktype
           Returns the numerical number for the socket type. For
           example, for a SOCK_STREAM socket the value of
           &SOCK_STREAM will be returned.




2001-05-24                 perl v5.6.1                          2





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


       protocol
           Returns the numerical number for the protocol being
           used on the socket, if known. If the protocol is
           unknown, as with an AF_UNIX socket, zero is returned.

       connected
           If the socket is in a connected state the the peer
           address is returned.  If the socket is not in a con-
           nected state then undef will be returned.

SEE ALSO
       the Socket manpage, the IO::Handle manpage, the
       IO::Socket::INET manpage, the IO::Socket::UNIX manpage

AUTHOR
       Graham Barr. Currently maintained by the Perl Porters.
       Please report all bugs to <perl5-porters@perl.org>.

COPYRIGHT
       Copyright (c) 1997-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.


































2001-05-24                 perl v5.6.1                          3


