【问题标题】:Node.js+ Socket.io : how to manage different chatsNode.js Socket.io:如何管理不同的聊天
【发布时间】:2014-01-12 16:18:08
【问题描述】:

我正在寻找满足这些要求的解决方案:

  1. 通过来自不同站点(域)的浏览器与运营商合作的许多客户的网络聊天; 运营商只为他的网站提供服务,例如:

    site1->chat1->operator1

    site2->chat2->operator2

  2. 服务器端应该知道哪个客户端从站点转到并将其路由到chat1或chat2(取决于域名);

  3. 无限客户端的服务器端支持
  4. 服务器端支持无限域

我看向 node.js+socket.io 的方向,了解如何为一个聊天域路由客户端和操作员,

像这样在服务器端:

app.get('/admin', function(req, res, next) {
       res.sendfile(__dirname + '/admin.html');
       next();

});

app.get('/user', function(req, res, next) {
    res.sendfile(__dirname + '/index.html');
        next();
});

如果我们需要来自不同站点的路由消息,我可以使用这个变体。 domain-id的id-param设置值在哪里

app.get('/admin/:id?', function(req, res, next) {
    var id = req.params.id;
    res.sendfile(__dirname + '/admin'+id+'.html');
        next();

});

app.get('/user/:id?', function(req, res, next) {
    var id = req.params.id;
        res.sendfile(__dirname + '/index'+id+'.html');
        next();
});

有问题:

  1. 主链 node.js+socket.io 是正确的解决方案吗?
  2. 如何设置io.sockets.on('connection', function(socket){}的相同逻辑 适用于所有域(用户和管理员)

提前致谢。

【问题讨论】:

    标签: node.js socket.io


    【解决方案1】:

    是的,这是一个很好的解决方案

    并且您正在为不同类型的用户使用命名空间,并且您可以使用房间来管理每种类型的用户 https://github.com/LearnBoost/socket.io/wiki/rooms

    这是完整的文档 https://github.com/LearnBoost/socket.io/wiki

    【讨论】:

      猜你喜欢
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 2016-05-11
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多