2016-08-01 14 views
0

Ich benutze den Javascript Websocket, um eine Verbindung zum Websocket Server herzustellen. Ich benutze Python-Flask-Framework, um durch Webseiten zu navigieren.html5 websockets closing connect wenn ein Link angeklickt wird

mein Projekt ist wie folgt:

  1. die Route "/" macht index.html Seite. Auf dieser Seite erstelle ich eine Websocket-Verbindung.
  2. , wenn ich Daten vom Server empfangen, ich navigieren Sie zu anderem Weg (zum Beispiel: „/ Seite/1“)

Wenn ich auf dem href Link auf meiner Seite index.html klicken, ich sehe die Websocket wird geschlossen.

Ich googelte und implementierte 2 Methoden des persistenten Speichers.

  1. Localstorage

  2. Shared Web Workers

Beide waren nicht von Nutzen, da werden die WebSockets geschlossen wird, wenn ich auf dem href-Link klicken. Aus diesem Grund denke ich, dass die persistente Speicherung der Websocket-Instanz keine Lösung für mein Problem ist (bitte korrigiere mich, wenn ich falsch liege). Bitte schlagen Sie mir den richtigen Ansatz vor, um mein Problem anzugehen. Vielen Dank im Voraus.

ich die neueste Version von Google Chrome bin mit (52.0.2743.82)

Antwort

0

Die WebSocket-Verbindung bestehen bleibt nur so lange, wie die Seite für offene gegründet wurde, ist. Durch das Laden einer weiteren Seite wird der WebSocket geschlossen, so dass das Speichern eines Verweises auf das Objekt nicht hilfreich ist (was es nicht mehr referenziert). Sie müssen nach jedem Laden der Seite eine neue WebSocket-Verbindung herstellen. (Für einen älteren Blick in wie die Probleme hier, siehe http://tavendo.com/blog/post/websocket-persistent-connections/ und 10.2.3 in der HTML-Spezifikation https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction)