【问题标题】:Socket.io get socket by id not workingSocket.io 通过 id 获取套接字不起作用
【发布时间】:2016-07-24 06:56:37
【问题描述】:

我正在尝试通过其 ID 访问套接字。我看过thisthis stackoverflow 帖子。然而,

io.sockets.connected[socket.id]

返回未定义。

这也行不通:

io.to(socket.id).emit("myMessage");

Socket 连接到一个命名空间(socket.id 返回 /playNS#1HhBtUM-6O_YsRwmAAAF)并且 socket.io 版本是 1.4.5。我做错了什么?

【问题讨论】:

  • 应该可以正常工作——我在 github 项目中有类似的代码,我唯一要做的就是跟踪对象中的 socketID 和 sessionID

标签: node.js socket.io


【解决方案1】:

如果套接字连接到命名空间,socket.id 的第一部分包含该命名空间(例如 /playNS#1HhBtUM-6O_YsRwmAAAF),但该套接字的 io.sockets.connected 属性将是 /#1HhBtUM-6O_YsRwmAAAF

为了正确检索我使用io.of('/namespace').connected[socket.id] 的套接字。

同样,io.of("/namespace").to(socket.id).emit("myMessage"); 发送消息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 2015-07-06
    • 2014-10-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多