Perl verificar conexão com a internet por 30 segundos se estável, não estável e sem conexão com a internet

1

Eu quero o script em perl que possa verificar se minha internet está estável, não estável ou sem conexão com a internet.

Eu uso o script Net :: Ping , mas a resposta é " You are connected to the internet. ", não verificando a conexão com a internet em 30 segundos se estável, não estável ou sem conexão com a internet. Apenas responda " You are connected to the internet. ". Mas a verdade é que minha conexão com a internet é instável. A cada 3 segundos conecte - desconecte.

Este é o script

$ping = Net::Ping->new("icmp");
$ping->port_number("80");
if ( $ping->ping( 'www.google.com', '10' ) ) {
    print "You are connected to the internet.\n";
}
else {
    print "You are not connected to the internet.\n";
}
$ping->close();

Eu quero usar wget como meu testador, mas não sei como fazer o script em perl. Meu projeto está escrito em perl.

    
por Jerome Laliag 04.11.2015 / 06:28

1 resposta

0

Seu script parece bem perto de funcionar. Aqui está o que acabei depois de alguns ajustes:

#!/usr/bin/perl

use warnings;
use strict;
use Net::Ping;

my $ping = Net::Ping->new("tcp");
$ping->port_number("80");
if ( $ping->ping( 'www.google.com', '10' ) ) {
    print "You are connected to the internet.\n";
} else {
    print "You are not connected to the internet.\n";
}
$ping->close();

Notas:

  • icmp ping requer root privs e pode ser bloqueado pelo google ou alguém entre um dia, então fique com tcp ping. Ninguém vai bloquear isso.
  • use strict e use warnings são bons hábitos Perl para estar em
  • você precisa use do módulo
por chicks 08.12.2015 / 05:23