单击链接时,html5 websockets关闭连接

时间:2016-08-01 19:27:07

标签: javascript python html5 google-chrome websocket

我使用javascript websocket连接到websocket服务器。我使用python flask框架来浏览网页。

我的项目如下:

  1. 路线" /"渲染index.html页面。在这个页面中,我创建了一个 websocket connection。
  2. 当我从服务器接收数据时,我导航到不同的路线(例如:" / page / 1")
  3. 当我点击index.html页面上的href链接时,我看到websocket正在关闭。

    我用Google搜索并实现了两种持久存储方法。

    1. localStorage的

    2. 共享网络工作者

    3. 它们都没有任何用处,因为当我点击href链接时,websockets正在关闭。从这个我认为websocket实例的持久存储不是我的问题的解决方案(请纠正我,如果我错了)。请建议我正确的方法来解决我的问题。提前谢谢。

      我使用的是最新版本的谷歌浏览器(52.0.2743.82)

1 个答案:

答案 0 :(得分:0)

只要为其建立的页面打开,WebSocket连接就会一直存在。加载另一个页面将关闭WebSocket,因此存储对该对象的引用没有帮助(它引用的内容不再存在)。您需要在每次加载页面后建立新的WebSocket连接。 (有关此处问题的较旧信息,请参阅HTML规范http://tavendo.com/blog/post/websocket-persistent-connections/中的https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction和10.2.3)