网上之前看到有博主重新封装了system函数用于超时检测,之前比较着急解借用了一下,后来抽时间研究了一下这个比较简单的方法,简单省事。(重新封装system()函数方式我附链接在后边了,有兴趣可以研究研究)。
- 使用本地指定ip ping 对端ip。
ping -c3 -w2 -I srcip dstip (-c3:ping包次数3次,-w2:超时时间2s,sicip:本地ip,dstip:对端ip)。 - 直接ping对端ip
ping -W 1 -c 2 dstip (-W 1:超时1s,-c 2:ping包次数2)。 - 代码中用popen()函数执行,然后结合打印结果中的相应字段strstr()校验是否link。不用system()函数。
附:重封装system方法。https://blog.csdn.net/zhangge3663/article/details/86700851