因此,我将两个变量(对象)连接到同一个 socket.io 服务器,一个的工作是处理公共(public)提要,另一个的工作是处理具有扩展功能的私有(private)提要。
我尝试了“强制新连接”选项,但是两个连接似乎仍然使用相同的套接字+ session ID。
我最初没有包含代码,因为这太基本了,但现在你开始了:
var socket = io(host);
socket.on('connect', function(e){
socket.emit('join', {
channel: stream_channel,
});
});
一个是var socket,另一个是var socket2。当它连接到服务器时,它会发出“join”,其中:
io.on('connection', function(socket){
socket.on('join', function(d){
socket.join(d.channel);
});
});
最佳答案
我能够通过以下方式解决这个问题:
- 将 websocket 订阅到多个房间
- 在每个 POST 处附加其他变量来定义要发送到的房间
我能够确定:
- 使用同一主机将始终保持相同的 session ID/套接字(即使启用了强制连接)
- 使用不同的主机或命名空间可能会允许连接分离
- 最好与多个房间保持单一连接
关于node.js - Socket.io (1.0) + 多个客户端连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823799/