NodeJS:在不重新启动的情况下将通道添加到Socket.IO服务器

时间:2012-08-28 02:19:47

标签: node.js websocket socket.io

修改:由于对EventMachine的了解不足,我们提出了这个问题。

使用Socket.IO接口,我可以将连接与“通道”复用。我如何启动Socket.IO服务器,但无需停止/启动服务器即可添加频道?

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的通道。如果我使用chat启动服务器但想要news添加chat而不会中断{{1}},该怎么办?我该如何添加频道?

1 个答案:

答案 0 :(得分:1)

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