当前位置: 首页 > news >正文

检测前端是否可以ping通后端返回的ip地址

检测前端是否可以ping通后端返回的ip地址

    • 前端检测是否可ping通ip地址(PC端)
    • 前端检测是否可ping通ip地址(uniapp小程序端)

前端检测是否可ping通ip地址(PC端)

// 前端检测是否可ping通ip地址        
pingFn(ips) {let promiseArr = [];ips.forEach(ip=>{// debuggerlet pro = new Promise((res, rej)=>{let img = new Image();let start = new Date().getTime();img.src = 'https://' + ip + '?t=' + start;img.onload = function() {res({code:200,status: true,ip});};img.onerror = function() {res({code:200,status: true,ip});};let timer = setTimeout(()=>{clearTimeout(timer);rej();}, 1500);}).catch((e) => {});promiseArr.push(pro);});return Promise.any(promiseArr);
},

前端检测是否可ping通ip地址(uniapp小程序端)

// 前端检测是否可ping通ip地址             
pingFn(ips) {let promiseArr = [];ips.forEach(ip=>{let pro = new Promise((res, rej)=>{let start = new Date().getTime();let url = 'https://' + ip + '?t=' + start;uni.getImageInfo({  src: url,  success: function (image) {  res({code:200,status: true,ip});},  fail:function(err){  res({code:200,status: true,ip});}  }); let timer = setTimeout(()=>{clearTimeout(timer);rej();}, 1500);}).catch((e) => {});promiseArr.push(pro);});return Promise.any(promiseArr);
},
async getData() {let a = await this.pingFn(['192.168.0.12','192.168.0.13']);// console.log('检测是否能ping通内网地址====',a)if(a){// 如果有返回值,则可以ping通}else{// 无返回值会返回undefined}// 根据返回值执行自己的后续操作
}

首先实现的是PC端功能,后粘贴到小程序里,发现实现不了,代码一行行定位后发现在new Image()那一步就已经走不下去了,后百度发现脚本不支持Image对象,将写法改一下即可。
参考文档:
1、vue2实现前端ping 后端给的ip地址是否可以ping通【https://blog.csdn.net/weixin_43845137/article/details/130371232】
2、uni-app在脚本中不支持Image对象?【https://ask.dcloud.net.cn/question/76390】

http://www.lryc.cn/news/115785.html

相关文章:

  • SMART司马他法则(目标管理)
  • 【LeetCode】删除并获得点数
  • SciencePub学术 | 传感器类重点SCIE征稿中
  • 移动端开发基础总结
  • 小X学游泳(深搜)
  • 分布式协议与算法——拜占庭将军问题
  • MySQL数据库管理的基本原则和技巧
  • SQL-每日一题【1193. 每月交易 I】
  • 探析青少年口才训练在个人发展中的重要性与影响
  • HTML 元素的 class 和 id 属性有何区别?
  • 关于GKPhoto点击放大没有图片只有缺省图
  • 建议收藏!总结了 42 种前端常用布局方案
  • spring AOP两种动态代理
  • 英语——副词
  • Vue 本地应用 记事本 v-on v-model v-for使用
  • 智能质检技术的核心环节:语音识别和自然语言处理
  • Python 中的值传递 和 引用传递
  • 【雕爷学编程】Arduino动手做(200)---WS2812B幻彩LED灯带6
  • ChatGPT在工作中的七种用途
  • redis 持久化 与 键淘汰策略
  • PyCharm新手入门指南
  • 【图像去噪】基于混合自适应(EM 自适应)实现自适应图像去噪研究(Matlab代码实现)
  • [保研/考研机试] KY102 计算表达式 上海交通大学复试上机题 C++实现
  • 源码解析Collections.sort ——从一个逃过单测的 bug 说起
  • 一周 AIGC 丨苹果下架多款 AIGC 应用,阿里云开源通义千问 70 亿参数模型
  • tomcat虚拟主机配置演示
  • Nacos基本应用
  • UML的类图规则
  • uniapp实现微信小程序长按二维码扫码加群或好友
  • 轮转数组(每日一题)