¿Cómo probar la velocidad de Internet usando Node.js?

El siguiente enfoque cubre cómo hacer una prueba de velocidad de Internet en NodeJs . Usaremos el paquete de Nodes de prueba de velocidad para lograrlo. Este paquete nos ayudará a obtener la velocidad actual de descarga y carga.

Utilice los siguientes pasos para instalar el módulo y realizar una prueba de velocidad en node.js:

Paso 1: crear un directorio para nuestro proyecto y convertirlo en nuestro directorio de trabajo.

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

Paso 2: use el comando npm init para crear un archivo package.json para nuestro proyecto.

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

Nota: Siga presionando enter e ingrese «sí/no» según corresponda en la línea final.

Paso 3: Instalación de Express.js y el módulo de prueba de velocidad. Ahora, en su carpeta speed-test-gfg (nombre de su carpeta), escriba la siguiente línea de comando:

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

Nota: Instale ambos módulos por separado.

Paso 4: Al crear los archivos index.js e index.html, la estructura de nuestro proyecto se verá así.

Paso 5: Creación de un servidor básico. Escriba el siguiente código en el archivo 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");
});

Salida: Obtendremos la siguiente salida en la pantalla del navegador.

GeeksforGeeks

Paso 6: Ahora implementemos la funcionalidad mediante la cual obtenemos la velocidad actual de carga y descarga. Aquí estamos usando la función exec que está disponible en child-process para ejecutar el comando para la prueba de velocidad.

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>

Javascript

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");
});

Paso 7: Ejecute el servidor usando el siguiente comando.

node index.js

Salida: ahora abra http://localhost:4000 en su navegador y espere 1-2 minutos después de hacer clic en el botón para ver la salida a continuación.

Referencia: https://www.npmjs.com/package/speed-test

Publicación traducida automáticamente

Artículo escrito por iamabhishekkalra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *