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);
});
});
我通过以下方式解决了这个问题:
- 正在为多个房间订阅 websocket
- 在每个 POST 处附加额外的变量来定义要发射到的空间
我能够确定:
- 使用同一个主机将始终保持相同的会话 ID/套接字(即使启用了强制连接)
- 使用不同的主机或命名空间可能会允许连接分离
- 多个房间保持单一连接更好
所以我将两个变量(对象)连接到同一个 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);
});
});
我通过以下方式解决了这个问题:
- 正在为多个房间订阅 websocket
- 在每个 POST 处附加额外的变量来定义要发射到的空间
我能够确定:
- 使用同一个主机将始终保持相同的会话 ID/套接字(即使启用了强制连接)
- 使用不同的主机或命名空间可能会允许连接分离
- 多个房间保持单一连接更好