【问题标题】:Design pattern for WebSockets through Socket.IO通过 Socket.IO 的 WebSocket 设计模式
【发布时间】:2016-06-23 16:52:51
【问题描述】:

我正在使用 WebSockets 构建一个复杂的聊天应用程序。我使用 Node.JS 的 Socket.IO 库来实现协议。我应该为每个聊天创建单独的命名空间,还是为每个聊天创建单独的房间?

Socket.IO 中的命名空间和房间的主要区别是什么?

【问题讨论】:

    标签: node.js sockets websocket socket.io


    【解决方案1】:

    如果所有客户端都属于同一类型,通常会使用房间。

    如果有不同类型的客户端,请使用命名空间。例如,匿名用户和经过身份验证的用户。在这种情况下,可能需要以不同的方式处理传入的连接请求。

    var guest = io.of('/guest');
    guest.on('connection', function(socket) {
       console.log('A guest client connected');
    });
    
    var user = io.of('/user');
    user.on('connection', function(socket) {
       var authenticated = authenticate(); //authenticate the user
       if (!authenticated) {
          // log attempt and disconnect the client
       }
    });
    

    【讨论】:

      猜你喜欢
      • 2014-04-18
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      相关资源
      最近更新 更多