如何使用Node.js测试互联网速度

如何使用Node.js测试互联网速度

下面的方法介绍了如何在Node.js中进行互联网速度测试。我们将使用speed-test node-package来实现。该软件包将帮助我们获取当前的下载和上传速度。

使用以下步骤在Node.js中安装模块并进行速度测试:

步骤1: 创建一个项目目录并将其作为工作目录。

$ mkdir speed-test-gfg
$ cd speed-test-gfg

步骤2: 使用npm init命令为我们的项目创建一个package.json文件。

$ npm init  // OR
$ npm init -y /* For auto add the required field */

如何使用Node.js测试互联网速度

注意: 在终端行上持续按下回车键,并根据情况输入“yes/no”。

步骤3: 安装Express.js和speed-test模块。现在在你的speed-test-gfg(你的文件夹名字)文件夹中,输入以下命令行:

$ npm install express
$ npm install speed-test --global

如何使用Node.js测试互联网速度

注意: 需要分别安装这两个模块。

步骤4: 创建index.js和index.html文件后,我们的项目结构将如下所示。

如何使用Node.js测试互联网速度

步骤5: 创建一个基本的服务器。在index.js文件中写下以下代码。

index.js

const express = require('express'); 
const app = express(); 
    
app.get('/' , (req , res)=>{ 
    res.send("GeeksforGeeks"); 
}); 
    
// Server setup 
app.listen(4000 , ()=>{ 
    console.log("server is running on port 4000"); 
});

输出: 在浏览器屏幕上我们将会得到以下输出。

GeeksforGeeks

步骤6: 现在让我们实现获取当前下载和上传速度的功能。我们在这里使用child-process中的exec函数来执行速度测试的命令。

index.html

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="UTF-8" /> 
    <meta http-equiv="X-UA-Compatible" 
          content="IE=edge" /> 
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0" /> 
    <title>Speed Test</title> 
  </head> 
  <body> 
    <center> 
      <h1 style="color: green">GeeksforGeeks</h1> 
      <form method="POST" action="/test"> 
        <button>Check Internet Speed</button> 
      </form> 
    </center> 
  </body> 
</html>
const express = require("express"); 
  
const app = express(); 
const { exec } = require("child_process"); 
  
// Home Route 
app.get("/", (req, res) => { 
  res.sendFile(__dirname + "/views/index.html"); 
}); 
  
// Speed Test 
app.post("/test", (req, res) => { 
  exec("speed-test --json", (err, stdout, stderr) => { 
    if (err || stderr) return res.send( 
      "Error while testing internet speed."); 
    const result = JSON.parse(stdout); 
    const response = `<center> 
                    <h2>Ping : {result.ping}</h2> 
                    <h2>Download Speed :{result.download}</h2> 
                    <h2>Upload Speed : ${result.upload}</h2> 
                    </center>`; 
    res.send(response); 
  }); 
}); 
  
// Server 
app.listen(4000, () => { 
  console.log("Server running on port - 4000"); 
}); 

步骤7: 使用以下命令运行服务器。

node index.js

输出: 现在在您的浏览器中打开 http://localhost:4000 并在单击按钮后等待1-2分钟以查看下面的输出。

如何使用Node.js测试互联网速度

参考: https://www.npmjs.com/package/speed-test

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程