Ping 1000个包看丢跑率

来源:互联网 发布:c语言中的链表 编辑:程序博客网 时间:2024/06/15 17:18
<pre name="code" class="sql">use warnings;    use Net::Ping;   $J=0; $K=0;for ($i = 1;$i <= 1000;$i++){  if ($#ARGV <0){       print "请输入一个参数\n";      exit(-1);    }    $host = $ARGV[0];    $p = Net::Ping->new("icmp");  if ($p->ping($host,5)){$J++ }   else{$K++} $p->close();     #sleep(1); print "$host  alive is $J\n";print "$host  lost is $K\n";}##第二个参数为默认超时值($def_timeout),以秒为单位,设置此值是为了定义PING方法的超时值,默认为5秒##第二个参数为默认超时值($def_timeout),以秒为单位,设置此值是为了定义PING方法的超时值,默认为5秒 If a default timeout ($def_timeout) in seconds is provided, it is        used when a timeout is not given to the ping() method (below). The        timeout must be greater than 0 and the default, if not specified, is        5 seconds$p->ping($host [, $timeout]);        Ping the remote host and wait for a response. $host can be either        the hostname or the IP number of the remote host. The optional        timeout must be greater than 0 seconds and defaults to whatever was        specified when the ping object was created. Returns a success flag.        If the hostname cannot be found or there is a problem with the IP        number, the success flag returned will be undef. Otherwise, the        success flag will be 1 if the host is reachable and 0 if it is not.        For most practical purposes, undef and 0 and can be treated as the        same case. In array context, the elapsed time as well as the string        form of the ip the host resolved to are also returned. The elapsed        time value will be a float, as returned by the Time::HiRes::time()        function, if hires() has been previously called, otherwise it is        returned as an integer.

                                             
0 0