summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm')
-rw-r--r--upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm208
1 files changed, 208 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm b/upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm
new file mode 100644
index 00000000..ef6be964
--- /dev/null
+++ b/upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm
@@ -0,0 +1,208 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "IO::Socket::INET 3pm"
+.TH IO::Socket::INET 3pm 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+IO::Socket::INET \- Object interface for AF_INET domain sockets
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+.Vb 1
+\& use IO::Socket::INET;
+.Ve
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+\&\f(CW\*(C`IO::Socket::INET\*(C'\fR 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.
+.SH CONSTRUCTOR
+.IX Header "CONSTRUCTOR"
+.IP "new ( [ARGS] )" 4
+.IX Item "new ( [ARGS] )"
+Creates an \f(CW\*(C`IO::Socket::INET\*(C'\fR object, which is a reference to a
+newly created symbol (see the Symbol package). \f(CW\*(C`new\*(C'\fR
+optionally takes arguments, these arguments are in key-value pairs.
+.Sp
+In addition to the key-value pairs accepted by IO::Socket,
+\&\f(CW\*(C`IO::Socket::INET\*(C'\fR provides.
+.Sp
+.Vb 10
+\& 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
+.Ve
+.Sp
+If \f(CW\*(C`Listen\*(C'\fR is defined then a listen socket is created, else if the
+socket type, which is derived from the protocol, is SOCK_STREAM then
+\&\fBconnect()\fR is called. If the \f(CW\*(C`Listen\*(C'\fR argument is given, but false,
+the queue size will be set to 5.
+.Sp
+Although it is not illegal, the use of \f(CW\*(C`MultiHomed\*(C'\fR 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.
+.Sp
+The \f(CW\*(C`PeerAddr\*(C'\fR can be a hostname or the IP-address on the
+"xx.xx.xx.xx" form. The \f(CW\*(C`PeerPort\*(C'\fR can be a number or a symbolic
+service name. The service name might be followed by a number in
+parenthesis which is used if the service is not known by the system.
+The \f(CW\*(C`PeerPort\*(C'\fR specification can also be embedded in the \f(CW\*(C`PeerAddr\*(C'\fR
+by preceding it with a ":".
+.Sp
+If \f(CW\*(C`Proto\*(C'\fR is not given and you specify a symbolic \f(CW\*(C`PeerPort\*(C'\fR port,
+then the constructor will try to derive \f(CW\*(C`Proto\*(C'\fR from the service
+name. As a last resort \f(CW\*(C`Proto\*(C'\fR "tcp" is assumed. The \f(CW\*(C`Type\*(C'\fR
+parameter will be deduced from \f(CW\*(C`Proto\*(C'\fR if not specified.
+.Sp
+If the constructor is only passed a single argument, it is assumed to
+be a \f(CW\*(C`PeerAddr\*(C'\fR specification.
+.Sp
+If \f(CW\*(C`Blocking\*(C'\fR is set to 0, the connection will be in nonblocking mode.
+If not specified it defaults to 1 (blocking mode).
+.Sp
+Examples:
+.Sp
+.Vb 3
+\& $sock = IO::Socket::INET\->new(PeerAddr => \*(Aqwww.perl.org\*(Aq,
+\& PeerPort => \*(Aqhttp(80)\*(Aq,
+\& Proto => \*(Aqtcp\*(Aq);
+\&
+\& $sock = IO::Socket::INET\->new(PeerAddr => \*(Aqlocalhost:smtp(25)\*(Aq);
+\&
+\& $sock = IO::Socket::INET\->new(Listen => 5,
+\& LocalAddr => \*(Aqlocalhost\*(Aq,
+\& LocalPort => 9000,
+\& Proto => \*(Aqtcp\*(Aq);
+\&
+\& $sock = IO::Socket::INET\->new(\*(Aq127.0.0.1:25\*(Aq);
+\&
+\& $sock = IO::Socket::INET\->new(
+\& PeerPort => 9999,
+\& PeerAddr => inet_ntoa(INADDR_BROADCAST),
+\& Proto => \*(Aqudp\*(Aq,
+\& LocalAddr => \*(Aqlocalhost\*(Aq,
+\& Broadcast => 1 )
+\& or die "Can\*(Aqt bind : $IO::Socket::errstr\en";
+.Ve
+.Sp
+If the constructor fails it will return \f(CW\*(C`undef\*(C'\fR and set the
+\&\f(CW$IO::Socket::errstr\fR package variable to contain an error message.
+.Sp
+.Vb 2
+\& $sock = IO::Socket::INET\->new(...)
+\& or die "Cannot create socket \- $IO::Socket::errstr\en";
+.Ve
+.Sp
+For legacy reasons the error message is also set into the global \f(CW$@\fR
+variable, and you may still find older code which looks here instead.
+.Sp
+.Vb 2
+\& $sock = IO::Socket::INET\->new(...)
+\& or die "Cannot create socket \- $@\en";
+.Ve
+.SS METHODS
+.IX Subsection "METHODS"
+.IP "sockaddr ()" 4
+.IX Item "sockaddr ()"
+Return the address part of the sockaddr structure for the socket
+.IP "sockport ()" 4
+.IX Item "sockport ()"
+Return the port number that the socket is using on the local host
+.IP "sockhost ()" 4
+.IX Item "sockhost ()"
+Return the address part of the sockaddr structure for the socket in a
+text form xx.xx.xx.xx
+.IP "peeraddr ()" 4
+.IX Item "peeraddr ()"
+Return the address part of the sockaddr structure for the socket on
+the peer host
+.IP "peerport ()" 4
+.IX Item "peerport ()"
+Return the port number for the socket on the peer host.
+.IP "peerhost ()" 4
+.IX Item "peerhost ()"
+Return the address part of the sockaddr structure for the socket on the
+peer host in a text form xx.xx.xx.xx
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+Socket, IO::Socket
+.SH AUTHOR
+.IX Header "AUTHOR"
+Graham Barr. Currently maintained by the Perl Porters. Please report all
+bugs at <https://github.com/Perl/perl5/issues>.
+.SH COPYRIGHT
+.IX Header "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.