【发布时间】:2020-09-10 14:26:25
【问题描述】:
这可能吗,或者当客户端在同一网络区域中输入另一个 HTML 文件时,您是否必须强制另一个 socket.io 连接到客户端?
【问题讨论】:
标签: javascript html node.js socket.io
这可能吗,或者当客户端在同一网络区域中输入另一个 HTML 文件时,您是否必须强制另一个 socket.io 连接到客户端?
【问题讨论】:
标签: javascript html node.js socket.io
我认为 1 个连接就可以完成这项工作。看这段代码:
var io = require('socket.io')(server);
io.sockets.on('connection', function(socket) {
console.log("user connected");
socket.on('from_client', function(data) {
io.sockets.emit('to_client', data);
});
});
当新的浏览器选项卡打开 localhost:8000 时,会打印“用户已连接”上方,因此,您可以为每个打开的浏览器窗口使用相同的 socket.io(emit 将消息发送到所有客户端)。因此,至于您问的问题,答案是否定的,更改打开/现有客户端的 html 不需要您创建新套接字/
【讨论】:
我们无法为所有 html 页面创建具有相同套接字 id 的连接。因为当我们尝试重新加载或重定向到新页面时,套接字连接会断开。它将创建一个具有新套接字 id 的新连接。
【讨论】: