Intermedio
30 min
Guía completa
Socket.io
Usa Socket.io para comunicación en tiempo real con reconexión automática y fallbacks
¿Qué es Socket.io?
Socket.io es una librería que simplifica la comunicación en tiempo real. Incluye reconexión, fallback a long‑polling y una API basada en eventos.
Servidor
const http = require('http');
const { Server } = require('socket.io');
const server = http.createServer();
const io = new Server(server, { cors: { origin: '*' } });
io.on('connection', (socket) => {
socket.emit('welcome', { message: 'Hola' });
socket.on('chat', (msg) => {
io.emit('chat', msg); // broadcast
});
});
server.listen(3000);
Cliente
import { io } from 'socket.io-client';
const socket = io('http://localhost:3000');
socket.on('connect', () => {
socket.emit('chat', { text: 'Hola' });
});
socket.on('chat', (msg) => {
console.log(msg);
});
Rooms y namespaces
// Rooms
socket.join('room-1');
io.to('room-1').emit('message', 'Hola sala');
// Namespaces
const admin = io.of('/admin');
admin.on('connection', (socket) => {
socket.emit('ready');
});
ACKs (confirmaciones)
socket.emit('save', data, (response) => {
console.log('Servidor respondió:', response);
});
💡 Ventajas clave
- ✓ Reconexión automática
- ✓ API de eventos simple
- ✓ Fallbacks HTTP
- ✓ Rooms, namespaces y middlewares