OnlineTicker

Version 1.o beta | 10.10.2009

Der OnlineTicker ist ein Echtzeit-Counter auf Basis von Ajax. Er zeigt bis auf vier Sekunden genau an, wie viele Benutzer zu diesem Zeitpunkt online sind, ganz im Gegensatz zu statischen Besucherzählern, welche teilweise nur auf fünf Minuten genau sind.
Das Script lässt sich schnell und einfach einbauen und bedarf kaum Anpassungen.

► Download (zip · 4 KB)
► Infos zur Installation weiter unten

Programmiersprachen

  • JavaScript und Ajax
  • PHP

Installation

  1. Lade das Zip-Archiv herunter und entpacke es.
  2. Speichere die Dateien onlineTicker.bg.php, onlineTicker.cache.inc und onlineTicker.js.php in das gewünschte Verzeichnis.
  3. Öffne die Datei onlineTicker.bg.php und passe die Variable $repeats an. Berücksichtige dabei, dass das Produkt von $repeats*$seconds die max_execution_time nicht übersteigen darf.
  4. Kopiere den entsprechenden Inhalt der Datei onlineTicker.front.html in die gewünschten Dateien Deiner Website. Achte dabei auf die richtigen Pfad-Angaben.
  5. Wenn alles korrekt angepasst wurde, ist der OnlineTicker nun funktionsfähig.

Funktionsprinzip

  • Beim Aufrufen der entsprechenden Seite (onlineTicker.front.html) lädt der Benutzer auch eine JavaScript-Datei (onlineTicker.js.php). In dieser JavaScript-Datei ist eine servergenerierte Identifikationsnummer angegeben, weshalb die JS-Datei auch durch den PHP-Interpreter geschickt wird.
  • Der Benutzer meldet sich nun mit dieser ID wieder beim Server (onlineTicker.bg.php), welcher den Benutzer als "online" abspeichert (onlineTicker.cache.inc) und den anderen Benutzern diese Veränderung mitteilt.
  • Wenn der Benutzer das Fenster schliesst, wird bei ihm das Script abgebrochen und der Server markiert den Benutzer als "offline". Wenn dieser Benutzer nun länger als 4 Sekunden "offline" ist, wird er gelöscht und der Server teilt den anderen verbliebenen Benutzern mit, dass einer weniger online ist. Dieser "Puffer" ist notwendig, da technisch gesehen ein erneuter Seitenaufruf bzw. ein Seitenwechsel dem Schliessen des Fensters gleichkommt.

Anmerkungen

  • Die Software ist zurzeit noch eine Beta-Version.
  • Ein neuer Request seitens Benutzer wird nur dann gestartet, wenn sich die Anzahl Benutzer verändert, oder wenn rund X Sekunden* ohne Veränderung verstrichen sind.
  • Die Verbindung zwischen Benutzer und Server wird solange offen gehalten, bis sich die Anzahl Benutzer verändert, oder X Sekunden* vergangen sind, oder der Benutzer offline geht. Bei ersteren beiden Fällen wird anschliessend sofort wieder ein neuer Request gestartet.
  • Wenn der Client kein JavaScript/Ajax unterstützt, wird der OnlineTicker nicht gestartet und der Benutzer somit nicht gezählt.
  • Falls längerfristig eine ungewöhnlich hohe Zahl an online Benutzer ausgegeben wird, lösche den Inhalt der Datei onlineTicker.cache.inc.
* Die Zeitspanne hängt von der Einstellung der max_execution_time ab.

Tipps

  • Diese Software ist besonders gut für Ajax-basierte Websites geeignet, da dann nicht bei jedem Seitenwechsel ein neuer Request an den Server gesendet werden muss, was sich positiv auf die Genauigkeit des Live-Counters auswirkt.