In the 0.9.x version, we can get socket by ID like this:
io.sockets.socket(socketId)
But in 1.0.x we can't. How to find a socket by id in 1.0.x?
In the 0.9.x version, we can get socket by ID like this:
io.sockets.socket(socketId)
But in 1.0.x we can't. How to find a socket by id in 1.0.x?
For socket.io 1.0 use:
io.sockets.connected[socketId]
For 0.9 its io.sockets.sockets[socketId] and not io.sockets.socket[socketId]
you can also use like:
io.to(socketid).emit();
Version 3.0.3
// in "of", you can put '/' or whatever namespace you're using
io.of('/').sockets.get(socketId)
Basically, sockets
is no longer a simple Object. It's a Map, so you have to use .get()
.
Socket.io Version 2.0.3+
let namespace = null;
let ns = _io.of(namespace || "/");
let socket = ns.connected[socketId] // assuming you have id of the socket
The most simlple way I tried is:
var socket1 = io.of("/").connected[socketId];
Then you can do
socket1.join("some room");
socket1.leave("some room");
socket1.emit();
or other things you want.