diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/mageia-cauldron/man3pm/IO::Socket::INET.3pm | |
parent | Initial commit. (diff) | |
download | manpages-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.3pm | 208 |
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. |