who is online

ich wollte mal ebend abgleichen, welches der besser Weg ist den online status der user zu prüfen.

Ip und Session bitte ich zu vernachlässigen, da diese zu viele Nachteile haben.

Da ich mitbekommen will ob der User noch da ist, möchte ich via Ajax in X-Abständen Requeste abfeuern und in der DB den Zeitstempel überschreiben. Sollte ein nutzer länger als 60 sec nicht aktiv sein, wird dieser nicht mehr berücksichtigt. Bei mir würde das ja noch gehen (ganz kleiner nutzerkreis) aber wenn ich 1 Million User hätte, wäre da extrem viel los im Netz.

Gibt es da eine 1A Lösung bzw. wohl eher bessere Lösung?
 
Zuletzt bearbeitet:
Warum soll die Seite überprüfen ob der User noch da ist? Ich hab oft Tabs offen und wenn da jede menge Ajax Request gemacht werden, seh ich immer noch nicht ob der User noch da ist und aktiv auf der Seite sondern nur das das Tab offen ist....

Wenn du die Seite lädst hast du einmal einen Request der so oder so ausgeführt werden muss und dort kann man doch dann auch den Who Is Online Script ausführen.... erzeugt keine zusätliche Last und ist ein Indiez das der User noch da ist.

Die anzeige kannst du ja nach x Minuten bereinigen lassen von einen Cronjob oder so...
 
Ich hab oft Tabs offen und wenn da jede menge Ajax Request gemacht werden

Ok, multitabbing wäre in der tat doof.
Wenn der Benutzer die Seite x aufgerufen hat und jetzt auf toilette geht, kann er nach einen normalen schiss nach 30min. :D wieder aktiv sein. soll ich diesen jetzt, obwohl die Seite noch aufgerufen ist, kicken ?
 
Was macht der User nach 30 Minuten aufn Klo dann wieder auf deiner Seite? Du sollst eine Useraktion verknüpfen mit einer Interaktion auf der Seite == Du siehst wer Online ist!
 
Was macht der User nach 30 Minuten aufn Klo dann wieder auf deiner Seite? Du sollst eine Useraktion verknüpfen mit einer Interaktion auf der Seite == Du siehst wer Online ist!

Ja, aber eine useraktion/interaktion ist damit verbunden das der user einen Header/ Request sendet mit seinem zutun.

Wenn jetzt wie hier ich einen Text verfasse, wo ich eventuell längere Zeit benötige bin ich ja weiterhin online auf der Seite nur nicht aktiv und kann keine interaktion ausführen weil ich ja am schreiben bin. Trotzdem bin ich doch weiterhin auf der Seite aktiv im eigentlichen Sinne.

Sicherlich verwenden beide Varianten das gleiche Prinzip. Ob HTTP oder XMLHttp.

Muss ich dann wohl abwägen
:frage:
 
Bei Plattformen wie blog.de wird das über automatische Aktionen gelöst. Z.B. werden regelmässig Entwürfe gespeichert, wenn ein User über längere Zeit im Editor ist u.ä.. Damit kann man anhand der Daten, die sich für den User in der Datenbank ändern (Session, last login, last draft/post/comment, last visited page usw.) relativ genau ermitteln, ob ein User gerade aktiv ist oder nicht.
 
Zurück
Oben