【问题标题】:How do I add a socket.io socket to a room via their socketid?如何通过他们的 socketid 将 socket.io 套接字添加到房间?
【发布时间】:2015-11-11 06:37:15
【问题描述】:

我正在使用从互联网某处窃取的这条线运行一个函数:

io.sockets[socketID].join(roomName);

它不能正常工作。有什么方法可以在不引用套接字对象的情况下将套接字添加到房间?或者有什么方法可以从 ID 中获取对套接字对象的引用?

谢谢!

【问题讨论】:

    标签: javascript node.js sockets socket.io


    【解决方案1】:

    在 socket.io 1+ 中,您可以像这样使用服务器上的套接字 ID:

    io.sockets.connected[socketID].join(roomName);
    

    【讨论】:

    • 对于那些像我刚才那样得到TypeError: Cannot read property 'join' of undefined的人,你需要确保套接字当前已连接。您可以将其包装在 if (Object.keys(io.sockets.sockets).includes( socketID) {//code here} 之类的语句中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2018-12-11
    • 2017-08-24
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多