【发布时间】:2015-10-27 17:09:43
【问题描述】:
所以我将两个变量(对象)连接到同一个 socket.io 服务器,一个的工作是处理公共提要,另一个负责处理具有扩展功能的私有提要。
我尝试了“强制新连接”选项,但是两个连接似乎仍然使用相同的套接字 + 会话 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);
});
});
【问题讨论】:
-
请向我们展示您的代码。问题在于您的特定代码,而不是一般的 socket.io。正如我认为您会从这里的经验中知道的那样,关于代码的问题应该始终包含相关代码,因为这总是会为您提供更好、更具体的答案,并且在某些情况下(像这样)是获得答案的唯一方法这不仅仅是一个疯狂的猜测。
-
仅供参考,会话 ID 可能基于 cookie,因此来自同一客户端的两个连接将始终共享相同的 cookie,因此共享相同的会话 ID(如果它们确实基于 cookie)。但是,如果需要,正确的代码将创建两个单独的 socket.io 连接。