找回密码
 加入
搜索
查看: 815|回复: 7

[网络通信] [已解决]探讨!关于判断电脑有没有接入Internet,有没有更有效的方法?

[复制链接]
发表于 2022-6-20 21:57:37 | 显示全部楼层 |阅读模式
本帖最后由 fayuOmg 于 2022-6-21 10:46 编辑

我们单位有一张超大的办公局域网,无法接入internet的。

我想做一个小工具,后台实时监测这些电脑有没有被接入因特网。

上周在家测试使用的是以下两个函数:


#include <WinAPIDiag.au3>
_WinAPI_IsNetworkAlive ( )
_WinAPI_IsInternetConnected()

#include <WinINet.au3>
_WinINet_InternetGetConnectedState()


在家测试是挺好用的,后来在单位电脑上就不好使了。
虽然我们单位是孤立的局域网,但是上面两个函数返回的结果居然都是True,
原因是Windows系统自己判断已经接入了互联网,网卡上没有感叹号的那种。
所以,上面两个函数应该是调用了Windows内部的判断结果而已。



今晚试了下使用Ping函数,这个结果蛮准的,但是,也有一个不大不小的缺点,就是这个ping容易受本机host文件的干扰。
如果有人把我要Ping的网站都指向127.0.0.1,就会导致结果出错。

所以向各位大佬请教,还有没有更好用的办法?




2022.06.21更新
_WinAPI_IsNetworkAlive ( )
_WinAPI_IsInternetConnected()
_WinINet_InternetGetConnectedState()

上面三个函数在我们内网都显示为已连通互联网,所以没法用。

最后的解决办法是使用Ping函数,ping公用的DNS地址,这样做的好处是避免hosts文件的干扰。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2022-6-20 22:10:11 | 显示全部楼层
_WinAPI_IsInternetConnected()
发表于 2022-6-20 22:14:01 | 显示全部楼层
有一个网站,既可以搜索广告,也可以用来ping网络是否通
 楼主| 发表于 2022-6-20 22:33:17 | 显示全部楼层
fybhwsx 发表于 2022-6-20 22:10
_WinAPI_IsInternetConnected()

好的,明天上班赶紧测试。谢谢!
发表于 2022-6-20 23:12:50 | 显示全部楼层
PING多个IP综合看结果试试看,或者用tracert?
发表于 2022-6-20 23:13:28 | 显示全部楼层
其实像这种为毛不用PPPOE拔号的方式来控制可联网的电脑???
 楼主| 发表于 2022-6-21 09:19:47 | 显示全部楼层
邪恶海盗 发表于 2022-6-20 23:13
其实像这种为毛不用PPPOE拔号的方式来控制可联网的电脑???

现在都是直接用手机或5G网卡直接联网了
 楼主| 发表于 2022-6-21 10:38:30 | 显示全部楼层
fybhwsx 发表于 2022-6-20 22:10
_WinAPI_IsInternetConnected()

这个函数在我们内部局域网也显示True的。

只能用ping函数了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 07:36 , Processed in 0.127249 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表