首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载新页时保持套接字连接

问加载新页时保持套接字连接
EN

Stack Overflow用户
提问于 2020-05-09 13:18:25
回答 2查看 909关注 0票数 1

我有一个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)我在与const socket = io();相关联的javascript文件中添加了另一个game.html。然后我就可以用那个东西了。但正如预期的那样,这将设置一个新连接,而先前的连接将丢失。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-25 11:43:12

jfriend00写here

--这就是webSockets和socket.io连接的工作方式。它们只在页面的持续时间内持续。当您转到一个新的URL并加载一个新的页面时,前面的socket.io连接将关闭,新页面中的代码可以自由创建一个新的连接。这就是浏览器中的工作方式。

票数 2
EN

Stack Overflow用户

发布于 2020-05-09 16:56:35

Martin,如果您将客户机重定向到一个不同的端点,那么必须启动与服务器的新握手,这样您将得到一个新的socket.id。您的服务器发出的信息是什么?您能够重新呈现反映新数据的DOM而不是转到一个完全不同的文件吗?反应的国家管理也许能减轻你的问题吗?

如果你能给我一个代码示例,我也许可以帮你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61697349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档