Protocolo de comunicación que permite la transmisión bidireccional en tiempo real.
Entre un cliente y un servidor, manteniendo una conexión activa durante toda la sesión.
// Servidor WebSocket con Socket.io import { Server } from 'socket.io'; const io = new Server(3000, { cors: { origin: '*' } }); io.on('connection', (socket) => { console.log('Usuario conectado:', socket.id); // Recibir mensaje socket.on('mensaje', (data) => { console.log('Mensaje recibido:', data); // Enviar a todos los conectados io.emit('mensaje', data); }); // Unirse a una sala socket.on('unirse-sala', (sala) => { socket.join(sala); socket.to(sala).emit('usuario-unido', socket.id); }); socket.on('disconnect', () => { console.log('Usuario desconectado:', socket.id); }); }); // Cliente WebSocket import { io } from 'socket.io-client'; const socket = io('http://localhost:3000'); socket.on('connect', () => { console.log('Conectado al servidor'); }); socket.on('mensaje', (data) => { console.log('Nuevo mensaje:', data); }); // Enviar mensaje socket.emit('mensaje', { texto: 'Hola!', autor: 'Juan' }); // Casos de uso: // - Chat en tiempo real // - Notificaciones push // - Juegos multijugador // - Colaboración en vivo (como Google Docs)