admin管理员组

文章数量:814823

加载新页面时保持套接字连接

我有一个带有socket.io和node.js的小项目。基本上,登陆页面(index.html)是等待玩家同意的游戏室。在这种情况下,我想将它们重定向到另一个html(game.html,与index.html处于同一文件夹中)。我想保持套接字连接,因为在游戏过程中必须与服务器进行通信。我尝试了两种方法,但都失败了。在每种情况下,我都更改客户端window.location(如here所述。)>

1]在index.html的javascript文件中,我添加了套接字对象的导出:export const socket = io();然后,将该对象导入与game.html关联的另一个javascript文件中。但是出于某种原因,这是行不通的。

2)我在与game.html相关的javascript文件中添加了另一个const socket = io();。然后,我可以使用该对象。但是正如预期的那样,这将建立一个新的连接,而先前的连接将丢失。

编辑:我也已在评论中问here。在那里,我了解到这个问题并不是真正可以解决的。因此,我现在暂时在index.html内渲染game.html(在main.js中进行DOM操作)。

我有一个带有socket.io和node.js的小项目。基本上,登陆页面(index.html)是等待玩家同意的游戏室。在那种情况下,我想将它们重定向...

回答如下:

Martin,如果将客户端重定向到其他端点,则必须启动与服务器的新握手,这样您将获得一个新的socket.id。服务器发出的信息是什么?您是否能够重新呈现反映新数据的DOM,而不是转到一个完全不同的文件? React的状态管理是否可以缓解您的问题?

本文标签: 加载新页面时保持套接字连接