Hi,
"Eingeloggt" soll der Zeitraum zwischen dem Login und Logout bzw. dem Browser-Schließen bedeuten.
das ist aber eine Definition, die du nicht in die Praxis umsetzen kannst, denn das Schließen des Browsers (oder auch das userseitige Trennen der Internet-Verbindung) bekommst du nicht mit. Du musst also eine realistische Zeit t definieren und den Login-Status per Timeout bestimmen.
Demnach gilt ein Benutzer als eingeloggt, wenn seit seinem letzten Request (Lebenszeichen) nicht mehr als die Zeit t vergangen ist und er sich nicht explizit ausgeloggt hat. Als typische Verfallzeit eines Logins könnte ich mir zwischen 10 und 30 Minuten vorstellen.
Das heißt natürlich auch: Wenn ein Benutzer sich einloggt und dann eine halbe Stunde den Rechner einfach stehenlässt, ist er automatisch auch ausgeloggt.
Stichworte "Garbage collection" und/oder "cron"
Warum? Es reicht, den Login-Status aller in Frage kommenden User beim nächsten beliebigen Request neu zu bestimmen. Was zwischendurch los ist, kriegt sowieso niemand mit.
So long,
Martin
F: Was sagt die kleine Kerze zur großen Kerze?
A: Ich gehe heute nacht aus!
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(