我使用javascript websocket连接到websocket服务器。我使用python-flask框架来浏览网页。
我的项目如下:
- 路由"/"呈现index.html页面。在此页面中,我创建websocket连接
- 当我从服务器接收数据时,我会导航到不同的路由(例如:"/page/1")
当我点击index.html页面上的href链接时,我看到websocket正在关闭。
我在谷歌上搜索并实现了两种持久存储方法。
-
本地存储
-
共享Web Workers
它们都没有任何用处,因为当我点击href链接时,websocket正在关闭。因此,我认为websocket实例的持久存储并不能解决我的问题(如果我错了,请纠正我)。请给我建议解决问题的正确方法。提前谢谢。
我使用的是最新版本的谷歌chrome(52.0.2743.82)
WebSocket连接只有在为其建立的页面打开时才会持续。加载另一个页面会关闭WebSocket,因此存储对对象的引用没有帮助(它引用的内容已不存在)。每次页面加载后,您需要建立一个新的WebSocket连接。(有关此处问题的详细信息,请参阅http://tavendo.com/blog/post/websocket-persistent-connections/,和10.2.3https://html.spec.whatwg.org/multipage/workers.html#shared-工人介绍)