WebSockets permiten la comunicación bidireccional en tiempo real entre el servidor y el cliente, lo cual es muy útil para aplicaciones web en tiempo real como juegos, chat en vivo, notificaciones en tiempo real, etc.
La forma básica de implementar WebSockets en Node.js sería algo como esto, usando la librería ‘ws’:
1. Instala la librería utilizando npm:
```
npm install ws
```
2. Crea un archivo server.js e incluye el paquete requerido:
```javascript
const WebSocket = require(‘ws’);
```
3. Ahora, cree un nuevo WebSocket.Server y adjúntelo al puerto 8080:
```javascript
const wss = new WebSocket.Server({ port: 8080 });
```
4. Puedes escuchar la conexión de eventos para manejar nuevos WebSocket clientes:
```javascript
wss.on(‘connection’, ws => {
ws.on(‘message’, message => {
console.log(`Received message => ${message}`)
})
ws.send(‘Hello! Message From Server!!’)
});
```
En este código, usamos `ws.send()` para enviar un mensaje al cliente y `ws.onmessage` para escuchar los mensajes entrantes.
5. Ahora, para iniciar el servidor, solo necesitas ejecutar `node server.js`.
6. Para probar el servidor WebSocket, puedes usar un cliente WebSocket como este código de JavaScript del lado del cliente:
```javascript
var ws = new WebSocket(‘ws://localhost:8080’);
ws.onopen = () => {
console.log(‘websocket is connected …’)
ws.send(‘Connected’)
}
ws.onmessage = wsEvt => {
console.log(wsEvt.data)
}
```
En este código, utilizamos `ws.send()` para enviar un mensaje al servidor y `ws.onmessage` para escuchar los mensajes entrantes desde el servidor.
Este es un ejemplo básico de cómo puedes configurar un WebSocket. Dependiendo de las necesidades de tu aplicación, hay muchos otros aspectos que podrías necesitar manejar, como manejo de errores, autenticación, broadcasting a múltiples clientes, etc.