MirOS Manual: IO::Socket::INET(3p)


IO::Socket::INET(Perl Programmers Reference GIO::Socket::INET(3p)

NAME

     IO::Socket::INET - Object interface for AF_INET domain sock-
     ets

SYNOPSIS

         use IO::Socket::INET;

DESCRIPTION

     "IO::Socket::INET" provides an object interface to creating
     and using sockets in the AF_INET 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::INET" object, which is a refer-
         ence to a newly created symbol (see the "Symbol" pack-
         age). "new" optionally takes arguments, these arguments
         are in key-value pairs.

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

             PeerAddr    Remote host address          <hostname>[:<port>]
             PeerHost    Synonym for PeerAddr
             PeerPort    Remote port or service       <service>[(<no>)] | <no>
             LocalAddr   Local host bind address      hostname[:port]
             LocalHost   Synonym for LocalAddr
             LocalPort   Local host bind port         <service>[(<no>)] | <no>
             Proto       Protocol name (or number)    "tcp" | "udp" | ...
             Type        Socket type                  SOCK_STREAM | SOCK_DGRAM | ...
             Listen      Queue size for listen
             ReuseAddr   Set SO_REUSEADDR before binding
             Reuse       Set SO_REUSEADDR before binding (deprecated, prefer ReuseAddr)
             ReusePort   Set SO_REUSEPORT before binding
             Broadcast   Set SO_BROADCAST before binding
             Timeout     Timeout value for various operations
             MultiHomed  Try all addresses for multi-homed hosts
             Blocking    Determine if connection will be blocking mode

         If "Listen" is defined then a listen socket is created,
         else if the socket type, which is derived from the pro-
         tocol, is SOCK_STREAM then connect() is called.

         Although it is not illegal, the use of "MultiHomed" on a
         socket which is in non-blocking mode is of little use.
         This is because the first connect will never fail with a
         timeout as the connect call will not block.

         The "PeerAddr" can be a hostname or the IP-address on
         the "xx.xx.xx.xx" form.  The "PeerPort" can be a number
         or a symbolic service name.  The service name might be

perl v5.8.8                2005-02-05                           1

IO::Socket::INET(Perl Programmers Reference GIO::Socket::INET(3p)

         followed by a number in parenthesis which is used if the
         service is not known by the system. The "PeerPort"
         specification can also be embedded in the "PeerAddr" by
         preceding it with a ":".

         If "Proto" is not given and you specify a symbolic
         "PeerPort" port, then the constructor will try to derive
         "Proto" from the service name.  As a last resort "Proto"
         "tcp" is assumed.  The "Type" parameter will be deduced
         from "Proto" if not specified.

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

         If "Blocking" is set to 0, the connection will be in
         nonblocking mode. If not specified it defaults to 1
         (blocking mode).

         Examples:

            $sock = IO::Socket::INET->new(PeerAddr => 'www.perl.org',
                                          PeerPort => 'http(80)',
                                          Proto    => 'tcp');

            $sock = IO::Socket::INET->new(PeerAddr => 'localhost:smtp(25)');

            $sock = IO::Socket::INET->new(Listen    => 5,
                                          LocalAddr => 'localhost',
                                          LocalPort => 9000,
                                          Proto     => 'tcp');

            $sock = IO::Socket::INET->new('127.0.0.1:25');

            $sock = IO::Socket::INET->new(PeerPort  => 9999,
                                          PeerAddr  => inet_ntoa(INADDR_BROADCAST),
                                          Proto     => udp,
                                          LocalAddr => 'localhost',
                                          Broadcast => 1 )
                                      or die "Can't bind : $@\n";

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

         As of VERSION 1.18 all IO::Socket objects have autoflush
         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

     sockaddr ()
         Return the address part of the sockaddr structure for

perl v5.8.8                2005-02-05                           2

IO::Socket::INET(Perl Programmers Reference GIO::Socket::INET(3p)

         the socket

     sockport ()
         Return the port number that the socket is using on the
         local host

     sockhost ()
         Return the address part of the sockaddr structure for
         the socket in a text form xx.xx.xx.xx

     peeraddr ()
         Return the address part of the sockaddr structure for
         the socket on the peer host

     peerport ()
         Return the port number for the socket on the peer host.

     peerhost ()
         Return the address part of the sockaddr structure for
         the socket on the peer host in a text form xx.xx.xx.xx

SEE ALSO

     Socket, IO::Socket

AUTHOR

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

COPYRIGHT

     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.8.8                2005-02-05                           3

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.