// sending to sender-client only socket.emit('message', "this is a test"); // sending to all clients, include sender io.emit('message', "this is a test"); // sending to all clients except sender socket.broadcast.emit('message', "this is a test"); // sending to all clients in 'game' room(channel) except sender socket.broadcast.to('game').emit('message', 'nice game'); // sending to all clients in 'game' room(channel), include sender io.in('game').emit('message', 'cool game'); // sending to sender client, only if they are in 'game' room(channel) socket.to('game').emit('message', 'enjoy the game'); // sending to all clients in namespace 'myNamespace', include sender io.of('myNamespace').emit('message', 'gg'); // sending to individual socketid (server-side) socket.broadcast.to(socketid).emit('message', 'for your eyes only'); // join to subscribe the socket to a given channel (server-side): socket.join('some room'); // then simply use to or in (they are the same) when broadcasting or emitting (server-side) io.to('some room').emit('some event'): // leave to unsubscribe the socket to a given channel (server-side) socket.leave('some room');