Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Помогите с Net::Ping


Автор: study 18.2.2005, 15:16
Народ, помогите разобраться с модулем Net::Ping, мне нужно пропинговать хост несколько раз, и вычислить среднюю задержку. Как это сделать smile

Автор: opi 18.2.2005, 23:00
Про Net::Ping, посмотри perldoc, там всё очень подробно описано.

Чтоб сделать то что ты хочешь:
1. Создай новый объект, $p = Net::Ping->new();
2. В цикле вызывай $p->ping(<имя host-а или IP>, <timeout>); Эта функция тебе вернёт результат и время ping-а, суммируй время ping-а в переменную.
3. Вычисли и выведи среднее.

Вот пример:
Код

#!/usr/bin/perl -w

use strict;

use Net::Ping;

my $i = 0; my $sum = 0; my $pause = 1; my $host = "localhost";
my $timeout = 5; my $num_of_pings = 30; my $good; my $duration; my $ip;

my $p = Net::Ping->new();

$p->hires();

for($i = 0, $sum = 0; $i < $num_of_pings; $i++, $sum += $duration) {
       ($good, $duration, $ip) = $p->ping($host, $timeout);

       print "Ping: ";

       if(!$good) {
               print "Failed."; print " Timeout." if $duration == $timeout;
               print "\n";
       } else {
               printf("$host [ip: $ip] is alive (return time: %.4f s)\n",
                       $duration);
       }

       sleep($pause);
}

printf("\n%d pings were sent, average reply time: %.4f s.\n",
       $num_of_pings, $sum/$num_of_pings);

$p->close();


Цитата(study @ 18.2.2005, 15:16)
Народ, помогите разобраться с модулем Net::Ping, мне нужно пропинговать хост несколько раз, и вычислить среднюю задержку. Как это сделать smile

Автор: study 21.2.2005, 17:12
opi спасибо потестирую.

Автор: CineallianceHD 16.6.2011, 20:39
добрый вечер
извините что поднимаю столь старую тему, хотел спросить насчёт NetPing

присмотрелся к NetPing 2/PWR-220 v1/SMS, что скажите, стоит?

требуется: управление кондиционером\светом\модемом WiFi через инет и GSM.
а может есть проще агригаты, а то я боюсь не осилю в настройке его .

Заранее благодарю....

Автор: shamber 22.6.2011, 16:06
вы явно чего-то попутали

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)