簡體   English   中英

Socket.IO 1.0.x:通過 id 獲取套接字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM