当前位置: 首页 > 知识库问答 >
问题:

node.js - 请问亲前端如何实现ping的工具呢?

琴镜
2023-11-10

react中很想做一个类似cmd上的ping的功能:

nono@MacBook-Air Downloads % ping 8.8.8.8PING 8.8.8.8 (8.8.8.8): 56 data bytes64 bytes from 8.8.8.8: icmp_seq=0 ttl=54 time=78.295 ms64 bytes from 8.8.8.8: icmp_seq=1 ttl=54 time=76.225 ms64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=80.911 ms64 bytes from 8.8.8.8: icmp_seq=3 ttl=54 time=76.925 ms

请问是否有对应的三方包来做到呢?或者用什么方式可以实现呢 ?

共有3个答案

卢聪
2023-11-10

需要借助服务端语言的实现,然后返回给前端去呈现。纯前端没法做到。

昌学
2023-11-10

简单的你可以直接自己弄一个就行了,我写个差不多意思的demo,你可以细节打磨一下,加个循环,获取一下应该就行了,第三方包的话,你可以看看这个https://github.com/danielzzz/node-ping 但是应该不符合你的需求

      const url = "https://baidu.com"      const startTime = new Date().getTime();      const response = await fetch(url);       const endTime = new Date().getTime();      const elapsed = endTime - startTime;      console.log('Ping time:', elapsed, 'ms');
朱海超
2023-11-10

目测是不能实现的,ping本身是基于icmp协议的,这个在浏览器里面没法实现。在浏览器里面也没办法拿到ttl这个参数。

现在浏览器上能看到的ping,大概率是发起HTTP请求,然后获取响应时间,也可能是服务端帮忙ping,然后显示在前端。

 类似资料:
  • 本文向大家介绍python实现一个简单的ping工具方法,包括了python实现一个简单的ping工具方法的使用技巧和注意事项,需要的朋友参考一下 继上一篇计算checksum校验和,本章通过socket套接字,struct字节打包成二进制,select返回套接字的文件描述符的结合,实现一个简单的ping工具。 引用: https://docs.python.org/3/library/socke

  • 本文向大家介绍150行Node.js实现的dns代理工具,包括了150行Node.js实现的dns代理工具的使用技巧和注意事项,需要的朋友参考一下 工具地址:github.com/Yi-love/dns… 安装: npm install dns-proxy-server -g 这个我觉得应该还是挺实用的一个工具。开发过程中我们需要配置IP来访问测试环境域名。 使用电脑开发测试还好,直接使用Swit

  • 我们如何基于命令行工具进行开发软件? 比如:我们macOS中有默认的ping 命令。 想要基于此开发一个macos app。 现在需要解决的问题就是,如何对ping发送请求参数,然后获得它执行得到的结果,请问是否有类似的库已经实现过?

  • 本文向大家介绍在Docker构建的容器中实现安装ping工具,包括了在Docker构建的容器中实现安装ping工具的使用技巧和注意事项,需要的朋友参考一下 因为用Docker拉取的Base镜像如Centos和Ubuntu的话都是最简版本,不包含Ping工具,而对Docker进行Docker network和Docker链接操作时往往要用到Ping工具测试两个容器间的网络,此时就要用到Ping工具了

  • 本文向大家介绍php实现的ping端口函数实例,包括了php实现的ping端口函数实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现的ping端口函数。分享给大家供大家参考。 具体实现代码如下: 希望本文所述对大家的PHP程序设计有所帮助。

  • 本文向大家介绍Node.js实现JS文件合并小工具,包括了Node.js实现JS文件合并小工具的使用技巧和注意事项,需要的朋友参考一下 临近春节,项目结束了,没事情做,于是就想学学node.js,之前写了一个是为了实验室项目的需要,用c#写了个js代码压缩合并的小插件,后来想到可以用node重构,于是就练练手吧,下面小编直接给大家上代码了。 代码如下所示: 内容虽少,不过还是想借此适应一下comm