Socket.io (1.0) + 多个客户端连接

Socket.io (1.0) + Multiple client connections

所以我将两个变量(对象)连接到同一个 socket.io 服务器,一个的工作是处理 public 提要,另一个处理具有扩展功能的私有提要。

我尝试了 "force new connection" 选项,但是两个连接似乎仍然使用相同的套接字 + 会话 ID。

我最初没有包括代码,因为这太基础了,但现在开始:

var socket = io(host);
socket.on('connect', function(e){
    socket.emit('join', {
        channel: stream_channel,
    });
});

一个是var socket,一个是var socket2。当它连接到服务器时,它会发出 "join" where:

io.on('connection', function(socket){
    socket.on('join', function(d){
        socket.join(d.channel);
    });
});

我通过以下方式解决了这个问题:

  1. 正在为多个房间订阅 websocket
  2. 在每个 POST 处附加额外的变量来定义要发射到的空间

我能够确定:

  1. 使用同一个主机将始终保持相同的会话 ID/套接字(即使启用了强制连接)
  2. 使用不同的主机或命名空间可能会允许连接分离
  3. 多个房间保持单一连接更好