http-Verbindung können Client-Seite Javascript erkennen, wenn Server geschlossen hat, während Client funktioniert?

StackOverflow https://stackoverflow.com/questions/737878

  •  09-09-2019
  •  | 
  •  

Frage

In meiner Anwendung ist der Client ein Javascript Satz von Funktionen im Browser, und es hat einige Arbeit - zum Beispiel, einen Clip zu spielen. Es verwendet XmlHttpRequest an den Server zu sprechen. Jedoch wird der Server die Verbindung zu abrupt zu schließen erlaubt, da es keine andere Möglichkeit gibt es scheint, um den Client zu unterbrechen. Kann der Kunde erkennen, während es den Clip abgespielt wird, dass die Verbindung geschlossen wurde, und so eine Nachricht drucken und die Seite löschen? Jede Hilfe sehr geschätzt. Vielen Dank, Anil

War es hilfreich?

Lösung 3

Es scheint, dass der Server kann nicht benachrichtigen Sie den Client, dass die Verbindung geschlossen ist; jedoch das Polling vorgeschlagene Methode nicht so effizient wie eine Benachrichtigung gewesen wäre.

Ich löste es durch die Angabe, dass bei der nächsten Anfrage holen, würde der Kunde gesagt, dass seine Sitzung ungültig ist.

Dies wurde durch URL implementiert Umschreiben - Anhänge „jsessionid = [id]“ auf jeden von den Javascript-Funktionen geschickt Anfrage. das Servlet speichert die aktuelle Session-ID.

Andere Tipps

Wenn der Clip an den Client gestreamt wird, könnten Sie einfach aufhören zu dienen.

Allerdings scheint es, wie der Clip wird heruntergeladen und dann über den Browser gespielt. In diesem Fall ist es wahrscheinlich am besten, einen Watchdog-Ansatz zu verwenden, wie von CookieOfFortune beschrieben: Poll den Server regelmäßig (einmal pro Sekunde oder so) und bekommt es mit winzigen Bestätigungsnachricht zu reagieren. Wenn die Verbindung geschlossen wird, erhalten Sie den Server mit einem negativen messgage reagieren zu können.

Leider ohne einen kometenhaften System, ist es sehr schwer, den Server zu ‚Senden‘ eine Meldung, Sitzung Schließung zu erhalten.

Beachten Sie aber, dass, sobald der Kunde einen Clip heruntergeladen hat, wird sie in der Lage sein, um es in voller zu spielen, wenn sie wollen. Leider gibt es keine Möglichkeit, dies zu einem Streaming-Ansatz neben Umschalten zu stoppen. Wenn die Sicherung Ihrer Inhalte eine Priorität ist, würde ich vorschlagen, diese Änderung zu machen.

Sie können sich wahrscheinlich das XMLHttpRequest-Objekt abzufragen, so versuchen Sie nur einen Herzschlag in einer Weile hin und wieder zu senden, um zu sehen, wenn die Verbindung geschlossen ist. Andernfalls würde der Server einige Signale zu senden, um den Client zu sagen, dass es die Verbindung schließen wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top