node.js - NodeJS : Adding channels to a Socket. IO服务器无需重启

标签 node.js websocket socket.io

编辑:由于对 EventMachine 知识不足而提出此问题。

通过 Socket.IO 接口(interface),我可以通过“ channel ”复用连接。如何启动 Socket.IO 服务器,但无需停止/启动服务器即可添加 channel ?

var io = require('socket.io').listen(80);

var chat = io
  .of('/chat')
  .on('connection', function (socket) {
    socket.emit('a message', {
        that: 'only'
      , '/chat': 'will get'
    });
    chat.emit('a message', {
        everyone: 'in'
      , '/chat': 'will get'
    });
  });

var news = io
  .of('/news')
  .on('connection', function (socket) {
    socket.emit('item', { news: 'item' });
  });

来自 Socket.IO 的代码示例显示了启动服务器,然后创建两个名为 chatnews 的 channel 。如果我使用聊天启动服务器,但想在不中断聊天的情况下添加新闻,该怎么办?如何添加 channel ?

最佳答案

您无需重新启动服务器即可添加命名空间。开始使用新的命名空间。在您的示例中,两个命名空间(chatnews)都是在服务器启动后创建的。

关于node.js - NodeJS : Adding channels to a Socket. IO服务器无需重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12151969/

相关文章:

node.js - 连续迭代 mongodb 游标(在移动到下一个文档之前等待回调)

javascript - 错误 : ER_PARSE_ERROR: You have an error in your SQL syntax;

javascript - HTML5 Socket.IO 在 C++ 中可用吗?

javascript - 如何将视频(从 getUserMedia)发送到 Node.js 服务器?

node.js - Socket.io - 发送到套接字 ID 数组

node.js - Node js上传带有通配 rune 件名的文件

node.js - 使用 Sequelize 在额外字段(链接器表)上排序

javascript - 无法使用 @stomp/stompjs 订阅主题

javascript - 如何保持 Pusher Client 对象跨页面持久化?

javascript - Flask-SocketIO 没有收到消息