Perl은 안정적인지, 불안정한지, 인터넷 연결이 없는지 30초 동안 인터넷 연결을 확인합니다.

Perl은 안정적인지, 불안정한지, 인터넷 연결이 없는지 30초 동안 인터넷 연결을 확인합니다.

나는 내 인터넷이 안정적인지, 불안정한지, 인터넷 연결이 없는지 확인할 수 있는 Perl 스크립트를 원합니다.

나는 사용한다넷::핑스크립트이지만 응답은 " 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();

테스터로 사용하고 싶지만 wgetPerl에서 스크립트를 작성하는 방법을 모르겠습니다. 내 프로젝트는 Perl로 작성되었습니다.

답변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();

노트:

  • icmp ping에는 루트 권한이 필요하며 언젠가는 Google이나 누군가에 의해 차단될 수 있으므로 tcp ping을 고수하세요. 누구도 그것을 막지 않을 것입니다.
  • use strict그리고 use warningsPerl의 좋은 습관은
  • use모듈이 필요해요

관련 정보