javascript - 从不同的命名空间加入命名空间房间

标签 javascript node.js websocket socket.io namespaces

所以,几乎就是我问的,我如何加入位于不同命名空间“内部”的命名空间房间?

var mainNamespace = io.of('/main');
var chatNamespace = io.of('/chat');

mainNamespace.on("connection", function (socket) {

    socket.on("somethingHappens", function () {
        // i thought i could do this
        chatNamespace.join("coolRoom", function(){
           console.log("yey i joined the room!");
        })
    });
}

我能以某种方式获得这个吗? 谢谢。

最佳答案

你不能轻易做到这一点。与房间不同,命名空间不是动态的并且是根据连接确定的。例如,您可以调用 io.connect('/main');在前端。

一旦建立连接,套接字就属于它所连接的命名空间。

dynamic namespaces的想法已经存在了一段时间并且有一些实现和模块。

关于javascript - 从不同的命名空间加入命名空间房间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34279278/

相关文章:

javascript - 如何编写 Websockets/AJAX 代码以实现频繁的数据库更新?或者有更好的方法吗?

javascript - 在nodejs中卸载模块

javascript - 访问页面前检查用户的 "clearance level"

javascript - 如何使用 Javascript var 作为 div 的 ID?

javascript - JavaScript 样式注释必须位于脚本标签之间吗?

php - 生成登录 token 的最佳方法是什么?这种身份验证方法是否容易受到攻击?

php - 关闭 Websockets 连接

javascript - AWS websocket 服务器 : 403 error when connecting from browser, 来自 Python

javascript - 是否有默认方法将编辑按钮添加到 Bootstrap 表单中的每个输入文本字段

javascript - Promise.resolve()和resolve()之间的区别?