⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net::ping.3

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 3
📖 第 1 页 / 共 2 页
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...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...\" Set up some character translations and predefined strings.  \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote.  \*(C+ will.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,.\" nothing in troff, for use with C<>..tr \(*W-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\.    ds -- \(*W-.    ds PI pi.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch.    ds L" "".    ds R" "".    ds C` "".    ds C' ""'br\}.el\{\.    ds -- \|\(em\|.    ds PI \(*p.    ds L" ``.    ds R" '''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 turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..ie \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.el \{\.    de IX...\}.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "Net::Ping 3".TH Net::Ping 3 "2007-12-18" "perl v5.10.0" "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"Net::Ping \- check a remote host for reachability.SH "SYNOPSIS".IX Header "SYNOPSIS".Vb 1\&    use Net::Ping;\&\&    $p = Net::Ping\->new();\&    print "$host is alive.\en" if $p\->ping($host);\&    $p\->close();\&\&    $p = Net::Ping\->new("icmp");\&    $p\->bind($my_addr); # Specify source interface of pings\&    foreach $host (@host_array)\&    {\&        print "$host is ";\&        print "NOT " unless $p\->ping($host, 2);\&        print "reachable.\en";\&        sleep(1);\&    }\&    $p\->close();\&\&    $p = Net::Ping\->new("tcp", 2);\&    # Try connecting to the www port instead of the echo port\&    $p\->port_number(getservbyname("http", "tcp"));\&    while ($stop_time > time())\&    {\&        print "$host not reachable ", scalar(localtime()), "\en"\&            unless $p\->ping($host);\&        sleep(300);\&    }\&    undef($p);\&\&    # Like tcp protocol, but with many hosts\&    $p = Net::Ping\->new("syn");\&    $p\->port_number(getservbyname("http", "tcp"));\&    foreach $host (@host_array) {\&      $p\->ping($host);\&    }\&    while (($host,$rtt,$ip) = $p\->ack) {\&      print "HOST: $host [$ip] ACKed in $rtt seconds.\en";\&    }\&\&    # High precision syntax (requires Time::HiRes)\&    $p = Net::Ping\->new();\&    $p\->hires();\&    ($ret, $duration, $ip) = $p\->ping($host, 5.5);\&    printf("$host [ip: $ip] is alive (packet return time: %.2f ms)\en", 1000 * $duration)\&      if $ret;\&    $p\->close();\&\&    # For backward compatibility\&    print "$host is alive.\en" if pingecho($host);.Ve.SH "DESCRIPTION".IX Header "DESCRIPTION"This module contains methods to test the reachability of remotehosts on a network.  A ping object is first created with optionalparameters, a variable number of hosts may be pinged multipletimes and then the connection is closed..PPYou may choose one of six different protocols to use for theping. The \*(L"tcp\*(R" protocol is the default. Note that a live remote hostmay still fail to be pingable by one or more of these protocols. Forexample, www.microsoft.com is generally alive but not \*(L"icmp\*(R" pingable..PPWith the \*(L"tcp\*(R" protocol the \fIping()\fR method attempts to establish aconnection to the remote host's echo port.  If the connection issuccessfully established, the remote host is considered reachable.  Nodata is actually echoed.  This protocol does not require any specialprivileges but has higher overhead than the \*(L"udp\*(R" and \*(L"icmp\*(R" protocols..PPSpecifying the \*(L"udp\*(R" protocol causes the \fIping()\fR method to send a udppacket to the remote host's echo port.  If the echoed packet isreceived from the remote host and the received packet contains thesame data as the packet that was sent, the remote host is consideredreachable.  This protocol does not require any special privileges.It should be borne in mind that, for a udp ping, a hostwill be reported as unreachable if it is not running theappropriate echo service.  For Unix-like systems see \fIinetd\fR\|(8)for more information..PPIf the \*(L"icmp\*(R" protocol is specified, the \fIping()\fR method sends an icmpecho message to the remote host, which is what the \s-1UNIX\s0 ping programdoes.  If the echoed message is received from the remote host andthe echoed information is correct, the remote host is consideredreachable.  Specifying the \*(L"icmp\*(R" protocol requires that the programbe run as root or that the program be setuid to root..PPIf the \*(L"external\*(R" protocol is specified, the \fIping()\fR method attempts touse the \f(CW\*(C`Net::Ping::External\*(C'\fR module to ping the remote host.\&\f(CW\*(C`Net::Ping::External\*(C'\fR interfaces with your system's default \f(CW\*(C`ping\*(C'\fRutility to perform the ping, and generally produces relativelyaccurate results. If \f(CW\*(C`Net::Ping::External\*(C'\fR if not installed on yoursystem, specifying the \*(L"external\*(R" protocol will result in an error..PPIf the \*(L"syn\*(R" protocol is specified, the \fIping()\fR method will onlysend a \s-1TCP\s0 \s-1SYN\s0 packet to the remote host then immediately return.If the syn packet was sent successfully, it will return a true value,otherwise it will return false.  \s-1NOTE:\s0 Unlike the other protocols,the return value does \s-1NOT\s0 determine if the remote host is alive ornot since the full \s-1TCP\s0 three-way handshake may not have completedyet.  The remote host is only considered reachable if it receivesa \s-1TCP\s0 \s-1ACK\s0 within the timeout specified.  To begin waiting for the\&\s-1ACK\s0 packets, use the \fIack()\fR method as explained below.  Use the\&\*(L"syn\*(R" protocol instead the \*(L"tcp\*(R" protocol to determine reachabilityof multiple destinations simultaneously by sending parallel \s-1TCP\s0\&\s-1SYN\s0 packets.  It will not block while testing each remote host.demo/fping is provided in this distribution to demonstrate the\&\*(L"syn\*(R" protocol as an example.This protocol does not require any special privileges..Sh "Functions".IX Subsection "Functions".ie n .IP "Net::Ping\->new([$proto [, $def_timeout\fR [, \f(CW$bytes\fR [, \f(CW$device\fR [, \f(CW$tos ]]]]]);" 4.el .IP "Net::Ping\->new([$proto [, \f(CW$def_timeout\fR [, \f(CW$bytes\fR [, \f(CW$device\fR [, \f(CW$tos\fR ]]]]]);" 4.IX Item "Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device [, $tos ]]]]]);"Create a new ping object.  All of the parameters are optional.  \f(CW$proto\fRspecifies the protocol to use when doing a ping.  The current choicesare \*(L"tcp\*(R", \*(L"udp\*(R", \*(L"icmp\*(R", \*(L"stream\*(R", \*(L"syn\*(R", or \*(L"external\*(R".The default is \*(L"tcp\*(R"..SpIf a default timeout ($def_timeout) in seconds is provided, it is usedwhen a timeout is not given to the \fIping()\fR method (below).  The timeoutmust be greater than 0 and the default, if not specified, is 5 seconds..Sp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -