Socket.io (Rooms & Namespaces)

Advanced Ecosystem 🟡 Mid

Definition

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.

Termes lies

#real-time#networking