Introduction
Broadcasting to rooms lets you send messages to a specific group of users connected to your server. It helps organize communication so only relevant people get the message.
io.to(roomName).emit(eventName, data);
io.to('chatRoom1').emit('message', 'Hello everyone!');
socket.join('gameRoom'); io.to('gameRoom').emit('startGame', { level: 1 });
socket.leave('oldRoom'); io.to('newRoom').emit('update', 'New info');
import express from 'express'; import { createServer } from 'http'; import { Server } from 'socket.io'; const app = express(); const httpServer = createServer(app); const io = new Server(httpServer); io.on('connection', (socket) => { console.log('User connected:', socket.id); // Join room 'room1' socket.join('room1'); // Listen for messages from this socket socket.on('sendMessage', (msg) => { // Broadcast message to all in 'room1' io.to('room1').emit('receiveMessage', msg); }); socket.on('disconnect', () => { console.log('User disconnected:', socket.id); }); }); httpServer.listen(3000, () => { console.log('Server listening on port 3000'); });
chatroom using Socket.IO's io object?io.to(room).emit(event, data) to send messages to a room.socket.join('room1');
io.to('room1').emit('greet', 'Hi Room 1!');
What will happen when this code runs?socket.join('room1') adds the current client to the room named 'room1'.socket.join('roomA');
io.to('roomA').emit('update', 'New data');
socket.leave('roomA');
io.to('roomA').emit('update', 'More data');room1 and room2. Which code correctly broadcasts to both rooms without sending duplicate messages to clients in both rooms?io.to('room1').to('room2') sends to clients in either room without duplicates.Pass the test and this pattern moves unknown