Cómo usar WebSocket en Node.js

Con Node.js, usar WebSockets es fácil y eficiente. Esta guía te mostrará cómo integrarlos y usarlos.

Daniel Costa

Daniel Costa

15 April 2025

Cómo usar WebSocket en Node.js

Los WebSockets han revolucionado la comunicación en tiempo real en la web, permitiendo canales de comunicación bidireccionales y full-duplex a través de una única conexión TCP. Con Node.js, un potente entorno de ejecución de JavaScript, aprovechar las capacidades de los WebSockets se vuelve aún más accesible y eficiente.

En esta guía, te guiaremos a través del proceso de integración y uso de WebSockets en Node.js.

💡
Para la depuración del servicio WebSocket, utiliza Apidog, una excelente herramienta de depuración de API que ofrece una interfaz fácil de usar que permite la simulación sencilla de solicitudes, la observación de intercambios de mensajes y la modificación de contenido, lo que garantiza una funcionalidad fluida para las aplicaciones basadas en WebSocket.
button

¿Qué es WebSocket?

Antes de sumergirse en la implementación, es crucial entender qué son los WebSockets y en qué se diferencian de las solicitudes HTTP tradicionales. A diferencia de HTTP, que sigue un modelo de solicitud-respuesta, los WebSockets proporcionan conexiones persistentes entre clientes y servidores, lo que permite el intercambio de datos en tiempo real y de baja latencia.

Esto los hace ideales para aplicaciones que requieren actualizaciones instantáneas, como aplicaciones de chat, juegos multijugador y herramientas de colaboración.

Websocket API

Casos de uso de WebSocket

WebSocket es particularmente significativo en los siguientes escenarios:

Configurando un proyecto de Node.js

Para empezar, asegúrate de tener Node.js instalado en tu sistema. Puedes verificar tu instalación ejecutando node -v en tu terminal.

Una vez confirmado, crea un nuevo directorio para tu proyecto y navega hacia él.

mkdir websocket-example
cd websocket-example

Inicializa un nuevo proyecto de Node.js usando npm:

npm init -y

Este comando crea un archivo package.json con la configuración predeterminada. A continuación, instala el paquete ws, una popular biblioteca de WebSocket para Node.js:

npm install ws

Implementando un servidor WebSocket

Con el proyecto configurado, vamos a crear un servidor WebSocket usando la biblioteca ws. Crea un nuevo archivo llamado server.js en el directorio de tu proyecto y añade el siguiente código:

const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {console.log('A new client connected.');
  ws.on('message', function incoming(message) {console.log('Received: %s', message);
  });
  ws.send('Welcome to the WebSocket server!');
});

Este código inicializa un servidor WebSocket en el puerto 8080 y escucha las conexiones entrantes. Al establecerse la conexión, registra un mensaje y configura un detector de eventos para los mensajes entrantes. También envía un mensaje de bienvenida al cliente.

Creando un cliente WebSocket

Ahora, vamos a crear un cliente WebSocket simple para conectarnos a nuestro servidor. Crea un nuevo archivo llamado client.js en el directorio del proyecto y añade el siguiente código:

const WebSocket = require('ws');

const ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {console.log('Connected to the server.');
});
ws.on('message', function incoming(data) {console.log('Received from server: %s', data);
});

Este código establece una conexión WebSocket a ws://``localhost:8080 y registra un mensaje al establecerse la conexión correctamente. También configura un detector de eventos para recibir mensajes del servidor.

Ejecutando la aplicación

Antes de ejecutar la aplicación, asegúrate de que el servidor WebSocket (server.js) esté en funcionamiento. Puedes iniciarlo ejecutando:

node server.js

Una vez que el servidor esté en funcionamiento, ejecuta el script del cliente (client.js) en otra ventana de terminal:

node client.js

Deberías ver mensajes que indican conexiones exitosas tanto del servidor como del cliente.

Apidog: Agilizando las pruebas de la API WebSocket

Websocket in Apidog

En lugar de Node.js, considera usar Apidog, una excelente herramienta similar a Postman para pruebas versátiles de API. Apidog admite las pruebas de la API WebSocket, ofreciendo interfaces fáciles de usar para crear, gestionar y probar las API WebSocket.

button

Explore more

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Aprende a crear cualquier web con Lovable en esta guía completa. Descubre procesos paso a paso, funciones innovadoras e integra herramientas gratuitas como Apidog para gestión API.

15 April 2025

Cómo usar n8n con servidores MCP

Cómo usar n8n con servidores MCP

Automatiza flujos con n8n y servidores MCP para IA. Guía técnica: configuración, APIs, nodo "MCP Server Trigger" y Apidog para pruebas.

14 April 2025

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Este tutorial te guiará para configurar y gestionar claves API personalizadas en Cursor (OpenAI, Anthropic, Google y Azure).

11 April 2025

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs