Frage

Ich möchte einige Ratschläge, wie die folgenden implementieren:

Ich möchte meine Benutzer über den Fortschritt einer Aufgabe machen, die auf meinem Server über AJAX läuft. Mein Server läuft ein PHP-Skript, das eine Datei über Shell-Befehl lädt die popen-Funktion. Es Echos periodisch / druckt, was geschieht. Ich möchte diese Ausgabe mit AJAX erfassen und sie dem Benutzer zu präsentieren.

wurde mir in einer anderen Frage gesagt, dass ich vielleicht brauchen, um die Verwendung von Polling oder Kometen zu machen? Ich würde wirklich schätzen jede Hilfe oder Anleitung, wie dies zu erreichen, in der einfachste und effizienteste Art und Weise. Hoffentlich kann ich immer noch Verwendung von JQuery machen.

Vielen Dank für die Zeit nehmen, diese zu lesen.

P. S. Ich konnte dies mit Dank an die Community Stackoverflow weit kommen .)

War es hilfreich?

Lösung

Das klingt wie eine große Chance für die Ajax lange Polling , die im allgemeinen Comet-Implementierungen einer der unzähligen Techniken ist. Es gibt eine andere Frage auf Stack-Überlauf mit Beispielcode.

Andere Tipps

Der Link Jim Puls geschrieben ist ein großartiger Ort zu starten. Viele Anwender, dass Fragen bieten viele große Informationen über Comet Polling & PHP. Die meisten Orte, die ich gesehen habe, habe mit Python empfohlen verdreht diese Aufgabe zu erfüllen.

Auch hier ein paar Links zu:

Responsive AJAX-Anwendungen mit COMET

Ein Fortschrittsbalken in JQuery

und eine andere HTTP-Streaming Ajax Muster Artikel

Ich würde wahrscheinlich die Route gs erwähnte am Ende geht je nachdem, wie „notwendig“ der Fortschrittsbalken ist. Wenn es nur ein Merkmal der Benutzer zu helfen, zu erkennen, dass es als gewöhnlich Prozess ein wenig mehr Zeit, nimmt, dann „austricksen“, um sie mit einer Schätzung viel einfacher als die Live-Abfrage ist.

Ich würde nur regelmäßigen Polling anstelle des Kometen, da dies eher wie ein Hack. Um die Benutzeroberfläche mehr Flüssigkeit konnte man cheat und aktualisieren Sie Ihre Fortschrittsbalken, ohne mit dem Server überprüft, nur durch die durchschnittliche Zeit, die Berechnung es braucht, um eine Aufgabe zu tun. Sie könnten den Fehler durch eine Abfrage für den korrekten Zustand korrigieren. Wenn Sie das gut umsetzen, wird denken, jeder ist es Live-Aktualisierung.

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