LWP::SecureSocket - SSL TCP/IP socket interface


SYNOPSIS

        $socket = new LWP::SecureSocket;
        $socket->connect('localhost', 7); # echo
        $quote = 'I dunno, I dream in Perl sometimes...';
        $socket->write("$quote\n");
        $socket->read_until("\n", \$buffer);
        $socket->read(\$buffer);
        $socket = undef;  # close



DESCRIPTION

       This class implements SSL TCP/IP sockets.  It groups
       socket generation, TCP address manipulation and buffered
       reading. Errors are handled by dying (throws exceptions).

       The following methods are provided:

       $sock = new LWP::SecureSocket()
           Constructs a new socket object.

       $sock->connect($host, $port)
           Connect the socket to given host and port.

       $sock->shutdown()
           Shuts down the connection.

       $sock->bind($host, $port)
           Binds a name to the socket.

       $sock->listen($queuesize)
           Set up listen queue for socket.

       $sock->accept($timeout)
           Accepts a new connection.  Returns a new
           LWP::SecureSocket object if successful.  Timeout not
           implemented yet.  would require modifying new, and not
               necessary for app, so I\'m not bothering to
           modify.  Might work anyways, though.

       $sock->getsockname()
           Returns a 2 element array ($host, $port)

       $sock->read_until($delim, $data_ref, $size, $timeout)
           Reads data from the socket, up to a delimiter
           specified by a regular expression.  If $delim is
           undefined all data is read.  If $size is defined, data
           will be read internally in chunks of $size bytes.
           This does not mean that we will return the data when
           size bytes are read.

           Reads data of the socket.  Not more than $size bytes.
           Might return less if the data is available.  Dies on
           timeout.

       $sock->pushback($data)
           Put data back into the socket.  Data will returned
           next time you read().  Can be used if you find out
           that you have read too much.

       $sock->write($data, [$timeout])
           Write data to socket.  The $data argument might be a
           scalar or code.

           If data is a reference to a subroutine, then we will
           call this routine to obtain the data to be written.
           The routine will be called until it returns undef or
           empty data.  Data might be returned from the callback
           as a scalar or as a reference to a scalar.

           Write returns the number of bytes written to the
           socket.

       $sock->_getaddress($h, $p)
           Given a host and a port, it will return the address
           (sockaddr_in) suitable as the name argument for
           connect() or bind(). Might return several addresses in
           array context if the hostname is bound to several IP
           addresses.


AUTHOR

       Derived by Joshua Kronengold from Socket.pm and SSLeay