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