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

这篇具有很好参考价值的文章主要介绍了检测前端是否可以ping通后端返回的ip地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

// 前端检测是否可ping通ip地址        
pingFn(ips) {
    let promiseArr = [];
    ips.forEach(ip=>{
        // debugger
        let 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】文章来源地址https://www.toymoban.com/news/detail-643762.html

到了这里,关于检测前端是否可以ping通后端返回的ip地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • telnet 和 ping 命令测试IP或端口是否可连接

    一、ping 命令 作用: 打开 cmd 命令行或者 linux 可以测试某个 ip 是否可以连通。 查看 IP 方法: window: ipconfig linux: ifconfig 或 ifconfig ens33 命令: 例如: 二、telnet 命令 作用: telnet 命令可以帮助我们去测试服务器上的某个端口是否可连接。 一般没开启 cmd 会提示无该命令。因此

    2024年02月11日
    浏览(50)
  • C\C++ 使用ping判断ip是否能连通

    文章作者:里海 来源网站: https://blog.csdn.net/WangPaiFeiXingYuan         ping是一种用于测试网络连接的工具,它通过发送数据包到目标设备并等待其响应来工作,以检查网络是否连通。下面是例子.  

    2024年02月17日
    浏览(37)
  • 如何ping一个网段下的所有IP地址,并保存返回结果

    循环的ping一个网段的所有IP地址 -n :表示一次ping几次 -w :表示一次ping60毫秒 其中的 in (1,1,255) 和 192.168.1.%i 表示ping的IP地址是从 192.168.1.1~192.168.1.255所有的IP地址都ping一遍 为管道命令,将输出的内容添加到d:pingall.txt的文件中 例如返回结果为:来自 192.168.1.4 的回复: 字节=

    2024年02月16日
    浏览(43)
  • ping www.baidu.com 所解析的ip是否为百度的真实ip?若不是,如何找到真实ip?

    一般情况下,dos命令ping域名会显示真实ip。 有些用户较多的网站,会启用CDN做 防护 (难找到真实IP) 或 加速 ,如baidu。 1、站长工具,多地ping的方式,响应ip不同 2、nslookup,返回地址为多个   1、查找dns历史解析记录(微步在线) 2、查找子域名 3、搜索引擎

    2024年02月13日
    浏览(47)
  • 虚拟机Linux:ping不通外网,但是宿主机可以ping的通;ip、网关配置都没什么问题

    查看vi  /etc/sysconfig/network-scripts/ifcfg-ens33的配置也没有什么问题,但是还是ping不通外网   所以我将拷贝自己没有问题的虚拟机 /etc/sysconfig/network-scripts/ifcfg-ens33的配置文件内容,对比一下没什么要改的,将UUID、IPADDR、NETMASK、GETWASK修改一些保存退出。  之后找问题:IPADDR、N

    2023年04月14日
    浏览(52)
  • 虚拟机中ping www.baidu.com提示【未知的名称或服务】,但是ping 百度的IP 可以ping通的问题解决方案

    1.遇到的问题描述:          在虚拟机中ping www.baidu.com,提示【未知的名称或者服务】           在本机中ping www.baidu.com,可以ping通           在虚拟机中尝试ping 百度的IP发现也可以ping通 这种情况,是由于虚拟机的DNS没有配置好造成的 2.解决方案一:         2.1 现

    2024年04月14日
    浏览(54)
  • 防火墙关闭,可以ping通IP,telnet22端口不通(centos7)

    查看22端口已经开放,并且防火墙也已经关闭,telnet22端口都不通,后面到主机cmd 中输入命令:ipconfig/ALL 后发现 VMnet8的IP是:192.168.10.1 , 虚拟机中输入命令 :ip address 中获取得IP 也是 :192.168.10.1,两者的IP相同有冲突, 然后修改VMnet8的IP后,telnet22端口成功 一些命令: 查询

    2024年02月11日
    浏览(52)
  • 前端如何走通后端接口

    现在基本都是前后端分离的项目了,那么前端小伙伴如何获取后端小伙伴接口呢? 同一WiFi下,让后端小伙伴分享出自己的ip地址: 步骤1:win+r调出运行界面 步骤2:cmd调出命令行窗口 步骤3:输入ipconfig回车获取ip地址 192.168.0.142 步骤4:将后端服务端口复制 9010 步骤5:将接口地

    2024年02月11日
    浏览(39)
  • 后端返回文件流,前端怎么导出、下载

            工作中肯定有很多导出excel、下载文件这种功能。一般都是后端做好,我们去请求对应的接口就行了,前端还需要做一些处理就可以实现导出、下载功能了。具体怎么操作呢,我们来看看!         我们在请求的时候 需要定义responseType【响应类型】为blob类型,如果

    2024年02月12日
    浏览(58)
  • 后端返回URL,前端如何实现下载

    1. 在实际开发过程中,实现文件下载功能,后端一般是返回一个文件流,我们只需要拿到这个文件流后,再使用 new Blob转化成blob格式 的数据,然后 创建一个a链接元素 进行下载就行了: (“本段代码是之前写案例时从别处copy的,都有注释省了自己写,哈哈哈,侵删”) 2. 但

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包