我有一个简单的脚本,可以定期(每隔几秒一次)验证该服务器是否有互联网连接。需要明确的是,它不会检查外部站点/服务/服务器是否处于活动状态。作为可靠的互联网目的地,我使用谷歌、雅虎等网站的 IP。通常我使用 3 个目的地(LAN、ISP 网络、ISP 外部)
我当前负责这个的代码只是一个简单而肮脏的调用ping
:
my $pingResponse = `ping -c 1 -w 1 123.123.123.123`;
my $isConnected = parsePingResponse($pingResponse);
它似乎有效,但我确信这不是完成这项任务的正确/最佳方式。至少有3个缺点:外部系统调用,速度慢,截止时间比较长,1秒。
所以,我的问题是:如何以失败的方式简单有效地实现ping功能,以验证互联网连接是否有效?
(我认为LWP是一种矫枉过正。站点或页面是否可用并不重要,只要可以访问一些外部IP即可。可能应该是涉及低级网络的简单事情)