What's the difference between io.sockets.emit and broadcast?

node.js, socket.io

Solution

`io.sockets.emit` will send to all the clients

`socket.broadcast.emit` will send the message to all the other clients except the newly created connection

This Socket.IO Wiki post will help everyone reading this question:

The recent cheatsheet can also be viewed here:

https://socket.io/docs/v4/emit-cheatsheet

Problem

What's the difference between io.sockets.emit and socket.broadcast.emit? Is it only that broadcast emits to everyone BUT the socket that sends it? It seems like they can be used interchangeably: ``` io.sockets.on('connection', function (socket) { //these should do the same thing io.sockets.emit('this', { receivers: 'everyone'}); socket.broadcast.emit('this', { receivers: 'everyone but socket'}); //emits to everyone but socket socket.emit('this', { receivers: 'socket'}); //emits to socket }); ```

Original source