Ideensammlung: Prüfen ob ein bestimmter user online ist

ice_thunder

Grünschnabel
Hallo,
Auf meiner Seite habe ich ein Loginsystem und ein Nachrichtensystem, dafür wäre es nicht schlecht wenn man sehen könnte wer online ist, damit man weis ob auf eine schnelle Antwort zu hoffen ist oder ob es länger dauern kann. Deshalb hab ich mir mal Gedanken gemacht wie man so etwas gut und sicher realisieren könnte. Allerdings hab ich mehrer Lösungsansätze und bin mir nicht sicher welche ich benutzen soll und ob sie überhaupt realisierbar sind. Deshalb wolte ich mal höhren was ihr so meint, vielleicht fällt euch ja noch was besseres ein:

1.) Beim Login, wird in die Datenbank gespeichert wer sich eingeloggt hat und nach einer bestimmten Zeit wir man automatisch wieder rausgelöscht
Vorteile: Schnell und einfach zu realisieren
Nachteile: Sehr ungenau(wenn man sich z.B. nicht ausloggt)

2.) Ein Js überprüft in einem bestimmten Intervall ob der User noch da ist, aktualisiert das script die Datenbank nicht mehr, ist der User offline
Vorteile: Sehr genau
Nachteile: Traffic intensiv, schwerer als Beispiel 1

3.) Mein Loginsystem funktioniert mit Sessions, man könnte den Ordner indem die Sessions liegen auslesen, und die darin liegenden Dateien analysieren.
Vorteile: Keine ständigen Datenbank Zugriffe nötig
Nachteile: Sicherheit-> Userdaten sind in Sessions gespeichert und können eventuell von Dritten ausgelesen werden
Genauigkeit-> Weniger genau als die Js-Methode da Sessions, wenn man sich nicht ausloggt, erst nach einer bestimmten Zeit gelöscht werden.
-> Genauso ungenau wie Beispiel 1

So das wars erstmal von Mir, ich hoffe ihr habt noch Vorschläge oder ähnliches, danke schonmal im Vorraus,
Mit freundlichen Grüßen
Sebastian
 
4. Packe in ein verstecktes iFrame eine Seite, welche du per <meta> intervallmässig neu lädts(der URL solltest du dabei optimalerweise nen Timestamp mitgeben, damit auch wirklich neu geladen wird).
Diese Seite macht dann das nötige DB-Update.

Vorteil: genausogenau:-) wie die JS-Methode, funktioniert aber auch ohne JS.

Nachteil: genauso "belastend" wie die JS.Methode, Traffic dürfte eigentlich unwichtig sein.... der Browser muss ja lediglich ne Anfrage senden und das neue Dokument erhalten....das sollten nicht mehr als 80 Bytes werden.


Ob das die DB und den Server wirklich belastet, kommt auf die Anzahl der User an, welche da zu erwarten sind.... wenn das nicht grad zehntausende sind, sollte das egal sein.
 
Danke für die schnelle Antwort. Die Seite hat Momentan circa 70 Mitglieder ist allerdings auch erst seit 3 Wochen on. Ich denke für den Anfang könnte das funktionieren. Was meinst du wie groß soll ich den Intervall machen. Sind 30 Sekunden zu wenig (Wegen Traffic) oder soll ich es noch kürzer machen (Genauigkeit).
Gruß
Sebastian
 
Den Traffic halte ich, wie gesagt, für zu wenig, als dass man sich da erstmal Sorgen drum machen müsste.

Wichtiger ist, ob die DB-Anfragen den Server ausbremsen... bei 70 Usern wären das 140 Queries pro Minute... das muss er abkönnen.
Kürzere Intervalle halte ich für überflüssig.. dann könntest du gleich nen Chat drauss machen :-)

Probier halt ein wenig rum, was nötig und sinnvoll ist und halte immer die die Servergesundheit im Blickwinkel... damit du den Intervall bei Bedarf schnell verlängern kannst, wenn er Probleme macht.
 

Neue Beiträge

Zurück