Frage

Ich möchte einen Teil einer Webseite für alle Benutzer dynamisch aktualisieren, wenn ich dies wähle (über eine separate Seite).

Das Szenario, an das ich denke:

  1. Sagen Sie, es gibt ein Chatbox und ein Bild auf einer Seite.
  2. Wenn ich auf eine Schaltfläche auf einer anderen klicke Seite (oder die gleiche), das Bild Änderungen an einem eingebetteten YouTube-Video für alle Benutzer auf der Seite, die chatten.

Was ist der beste/einfachste Weg, dies zu tun?

War es hilfreich?

Lösung

Sie benötigen entweder eine Abfrage durch den Client (d. h.regelmäßig AJAX-Anfragen an den Server stellen, um nach Änderungen zu suchen) oder verwenden Komet:Im Grunde handelt es sich um eine langlebige Anfrage, die eine offene Verbindung zum Server aufrechterhält, und der Server kehrt nur zurück, um entweder eine Zeitüberschreitung der Anfrage zuzulassen (an diesem Punkt stellt der Client eine weitere Anfrage) oder es erfolgt eine Änderung.

Beachten Sie, dass Sie, wenn Sie dies mit einer beliebten Website tun, in der Lage sein müssen, mit einer zurechtzukommen viel gleichzeitiger Verbindungen.Der Ansatz „ein Thread pro Verbindung“ ist wirklich scheiße, wenn Sie zehntausend Verbindungen gleichzeitig haben müssen.Grundsätzlich möchten Sie in der Lage sein, diese Anfragen asynchron zu bearbeiten.Wie Sie dies erreichen, hängt von Ihrer Serverplattform ab.

Andere Tipps

Ich würde nicht 'Comet' werden.

Es ist mit ziemlicher Sicherheit nicht notwendig für dieses Update für alle Menschen Betrachten der Website sofort zu sein.

Um ehrlich zu sein ich wahrscheinlich dieses Update es schleichen würde, wenn Sie, was andere Daten aktualisieren sie aktualisieren (sagen wir, die Chat-Protokolle). So markieren Sie würden nur das Video als ‚nächste‘ Live-Element für dieses Segment, und der Code bereits den Chat zu aktualisieren würde diesen Wert ändern, wenn es bemerkt es eine neue benötigt.

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