Интернет-соединение проверки Perl в течение 30 секунд, если стабильный, не стабильный и никакое интернет-соединение

Я хочу сценарий в жемчуге, который может проверить, стабилен ли мой Интернет, не стабилен или никакое интернет-соединение.

Я использую Сеть:: сценарий Ping, но ответ"You are connected to the internet.", не проверив интернет-соединение за 30 секунд, если стабильный, не стабильный или никакое интернет-соединение. Просто ответ"You are connected to the internet.". Но истина мое интернет-соединение нестабильна. Подключение каждых 3 секунд - разъединение.

Это - сценарий

$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();

Я хочу использовать wget как мой тестер, но я не знаю, как написать сценарий его в жемчуге. Мой проект записан на жемчуге.

1
задан 3 August 2016 в 21:26

1 ответ

Ваш сценарий кажется вполне близко к работе. Вот то, с чем я закончил после небольшой тонкой настройки:

#!/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();

Примечания:

  • ping icmp требует корня privs и мог быть заблокирован Google или кем-то промежуточным когда-нибудь так палка с ping tcp. Никто не собирается заблокировать это.
  • use strict и use warnings хорошие привычки Perl быть в
  • , Вам нужно к use модуль
0
ответ дан 30 September 2019 в 05:56

Другие вопросы по тегам:

Похожие вопросы: