Frage

Lassen Sie uns sagen ich eine Chat-Programm, das jedes Mal, wenn jemand eine Nachricht sendet, wird ein globalfile gesperrt und geschrieben. Der empfangende Client hat eine ausstehende xmlhttp Anforderung, die mit der neu aktualisierte Datei mit diesem Konstrukt zurückkehren wartet:

while (!hasNewdata())
{    sleep 3;    }
print "$thenewdata";
sub hasNewData()
{
     # determine if global file has been appended to.
}

würde die Dateigröße an den Client gesendet und dann in dem nächsten Poll-Request an den Server zurück eine gute Methode, dies zu tun, wie wir jetzt, wenn die Dateigröße unterscheidet überprüfen können von dem, was bereits auf dem zurückgeschickt worden war Client, so dass wir neue Daten vorhanden sind. Oder würde das Senden die Datei-Offset hin und her ein besserer Ansatz sein, so dass es in die in der Datei kennt für neue Daten zu überprüfen? Oder ein anderes Verfahren vollständig, etwas anderes als mit einer globalen ‚Chat‘ Datei?

Was sind die allgemeinen Methoden ‚neue Daten verfügbar‘

zur Bestimmung
War es hilfreich?

Lösung

Sie könnten das Datum verwenden geändert.

$last_modified = filemtime("thisfile.php");

Andere Tipps

Die Dateigröße ist nicht so eine schlechte Art und Weise.

Browser könnte auch bereits sein Tagging "if-modified-since" Header auf die Anfragen.

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