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

标签 node.js socket.io

因此,我将两个变量(对象)连接到同一个 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);
    });
});

最佳答案

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

  1. 将 websocket 订阅到多个房间
  2. 在每个 POST 处附加其他变量来定义要发送到的房间

我能够确定:

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

关于node.js - Socket.io (1.0) + 多个客户端连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823799/

相关文章:

javascript - 使用 socket.emit 处理 Node.js 错误

javascript - Websocket 的正确方法

node.js - 使用 WebSockets 过滤和排序结果?

javascript - 在 node.js 中使用 Gigya API

c# - UnityWebRequest.downloadHandler 返回 null,同时从 Node 服务器获取响应

node.js - 您可能在组件渲染函数中有无限更新循环

javascript - SocketIO,无法从客户端发送发射数据

javascript - 关于在 node.js 和浏览器中共享模型代码的建议

node.js - 响应格式错误 : Webhook error on getting response from dialogflow web hook

node.js - 使用 websocket Node 将命令流式传输到 python shell