Mr_老冷 发表于 2023-3-13 13:04:43

【EasyClick】【安卓】判断设备是否联网,ping网络

/**
* @description 网站是否可连通
* @param hostAddress {string?} 网站地址,可空,空则为测试本机网络连通性
* @return {boolean} true/false
*/
isConnectAble = function (hostAddress) {
    hostAddress = hostAddress || "www.baidu.com"
    hostAddress = hostAddress.replace(/http:\/\/|https:\/\//g, "")
    return java.lang.Runtime.getRuntime().exec("ping -c 2 " + hostAddress).waitFor() === 0
}

qw102307 发表于 2024-7-3 19:22:14

挂着vpn,网络正常,返回的为啥是false

Mr_老冷 发表于 2024-7-3 20:02:35

qw102307 发表于 2024-7-3 19:22
挂着vpn,网络正常,返回的为啥是false

参数填你自己的网址

qw102307 发表于 2024-7-3 22:12:27

Mr_老冷 发表于 2024-7-3 20:02
参数填你自己的网址

填的可以正常访问的网址,不挂vpn的是否是true,挂的时候是false

Mr_老冷 发表于 2024-7-4 11:57:15

qw102307 发表于 2024-7-3 22:12
填的可以正常访问的网址,不挂vpn的是否是true,挂的时候是false

你要确定你浏览器能打开

qw102307 发表于 2024-7-4 21:47:35

Mr_老冷 发表于 2024-7-4 11:57
你要确定你浏览器能打开

我手动打开网址可以打开

Mr_老冷 发表于 2024-7-4 22:06:25

qw102307 发表于 2024-7-4 21:47
我手动打开网址可以打开

VPN的路由设置:
VPN连接建立后,可能会改变设备的默认路由设置,使得所有或特定类型的网络流量通过VPN隧道传输。这可能导致直接ping操作(通常使用ICMP协议)不通过VPN隧道,因此无法到达目标地址。
防火墙或安全策略:
VPN服务器或客户端的防火墙设置可能阻止了ICMP请求(即ping命令使用的协议)。这是出于安全考虑,防止未经授权的探测和扫描。
网络配置问题:
设备的网络配置(如IP地址、子网掩码、网关等)可能与VPN设置不兼容,导致ping操作失败。
VPN服务器限制:
VPN服务器可能配置了特定的访问控制列表(ACL)或安全组规则,限制了ICMP流量的传输。

qw102307 发表于 2024-7-4 22:30:39

Mr_老冷 发表于 2024-7-4 22:06
VPN的路由设置:
VPN连接建立后,可能会改变设备的默认路由设置,使得所有或特定类型的网络流量通过VPN隧 ...

好的感谢
页: [1]
查看完整版本: 【EasyClick】【安卓】判断设备是否联网,ping网络