Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to update socket object for all clients in room? (socket.io)

io.sockets.on('connection', function(socket) {
    socket.object = socket.id;

    socket.on('updateObject', function(data) {
        // How to update socket.object here for all clients?
    });
});

How to do it?

like image 959
owl Avatar asked Jun 11 '14 04:06

owl


1 Answers

For the users using Socket.IO versions 1.0 or above this is the updated code for doing so.

Code to update socket object for all clients in a room

var clients = io.sockets.adapter.rooms['Room Name'].sockets;   

//to get the number of clients
var numClients = (typeof clients !== 'undefined') ? Object.keys(clients).length : 0;

for (var clientId in clients ) {

     //this is the socket of each client in the room.
     var clientSocket = io.sockets.connected[clientId];

     //you can do whatever you need with this
     clientSocket.emit('new event', "Updates");

}
like image 130
Sony Mathew Avatar answered Oct 02 '22 12:10

Sony Mathew