Socket.io (Rooms & Namespaces)
Advanced Ecosystem 🟡 MidDefinition
Bibliothèque temps réel au-dessus de WebSocket avec fallback automatique. Les Rooms groupent les clients, les Namespaces séparent les canaux logiques.
Analogie
Un immeuble (namespace) avec des appartements (rooms) : chaque message va à la bonne pièce du bon étage.
Exemple de code
const chat = io.of('/chat');
chat.on('connection', (socket) => {
socket.join('room-42');
chat.to('room-42').emit('message', {
user: socket.id, text: 'Hello!'
});
});
Cas d'usage
Construire un chat multi-salons avec reconnexion automatique et support des anciens navigateurs.
Anti-pattern
Broadcaster à tous les clients au lieu d'utiliser les rooms, surchargeant le réseau inutilement.