[英]Socket.IO 1.0.x: Get socket by id
在 0.9.x 版本中,我們可以像這樣通過 ID 獲取套接字:
io.sockets.socket(socketId)
但是在 1.0.x 中我們不能。 如何在 1.0.x 中通過 id 查找套接字?
對於 socket.io 1.0 使用:
io.sockets.connected[socketId]
對於 0.9 它的 io.sockets.sockets[socketId] 而不是 io.sockets.socket[socketId]
你也可以使用像:
io.to(socketid).emit();
Socket.io 版本 4.0.0
io.sockets.sockets.get(socketId);
Socket.io 版本 2.0.3+
let namespace = null;
let ns = _io.of(namespace || "/");
let socket = ns.connected[socketId] // assuming you have id of the socket
版本 3.0.3
// in "of", you can put '/' or whatever namespace you're using
io.of('/').sockets.get(socketId)
基本上, sockets
不再是一個簡單的 Object。 這是一個 Map,所以你必須使用.get()
。
我嘗試過的最簡單的方法是:
var socket1 = io.of("/").connected[socketId];
然后你可以做
socket1.join("some room");
socket1.leave("some room");
socket1.emit();
或其他你想要的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.