检测电脑是否连接网络
这里列举几种判断是否联网的方法
第一种获取网络设置,遍历属性,检查IPv4是否有ip地址
1 //判断网络状态 2 static judgingAddrInfo() { 3 var interfaces = require('os').networkInterfaces(); 4 for (var i in interfaces) { 5 var ifObj = interfaces[i]; 6 for (var n = 0; n < ifObj.length; n++) { 7 if (ifObj[n].family == 'IPv4' && ifObj[n].address != '127.0.0.1') { 8 return true; 9 } 10 } 11 } 12 return false; 13 }
第二种方法:var online = navigator.onLine; 返回浏览器的联网状态。正常联网(在线)返回true,不正常联网(离线)返回
false。
一旦浏览器的联网状态发生改变,该属性值也会随之变化。
但是这两种方法在某些情况下不太准确,检查到联网状态时,并不意味着浏览器一定能连接上互联网。还有其他一些可能引起误判的原因,比如你的电脑安装了虚拟化软件,可能会有一个虚拟网卡,这时它总是会显示正常联网。因此,如果你想得到浏览器确切的联网状态,应该使用其他额外的检查手段。
第三种方法:
通过发起网络资源请求,如果请求成功则表示网络连接没问题,但是这种方法依赖于所请求的资源!
1 //通过发起请求 2 require("request") 3 .get('http://www.baidu.com') 4 .on('response', function (response) { 5 console.log(response.statusCode) // 200 6 }) 7 8 或者 9 //通过请求资源 10 var i = <HTMLImageElement>document.createElement("IMG"); 11 i.onload = function () { 12 console.log("load") 13 callBack(true); 14 }; 15 i.onerror = function () { 16 console.log("err") 17 callBack(false); 18 }; 19 i.src = 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png?id=' + Date.now();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?