Prüfen, ob ein Nutzer noch online ist

bekod

Grünschnabel
Hallo,

ich programmiere aktuell einen eigenen kleinen Chat und habe eine Frage zu einer PHP-Funktion. Es geht darum, dass diese prüft, ob ein Client noch erreichbar ist. Da ich vor einiger Zeit mal einen guten Quellcode eines Chats hatte, bin ich mir ziemlich sicher, dass es eine vordefinierte Funktion dazu gibt. Diese hat, sobald der User das Fenster geschlossen hatte, ergo die Verbindung beendet bzw. keine weiteren Anfragen mehr geschickt hat, in eine echo schrieb, dass der User die Verbindung beendet hat. Ich find's komisch, dass ich dazu aktuell nichts mehr finde.

Der Chat lief damals mit PHP, sowie AJAX.

Wäre super, wenn mir da jemand helfen könnte!
 
Ich habe ebenfalls mal soetwas mit AJAX geschrieben. Dabei habe ich mit SETINTERVAL(), alle drei Sekunden geprüft ob ein User noch etwas geschrieben hat, also noch einen Eintrag in die Datenbank getätigt hat. Auf der anderen Seite kannst du es auch mit einem Logout-Button realisieren, der dann ein Update an die Datenbank schickt und einen "Schalter" umlegt der da sagt: Online = 'n'. Ist leider aber auch umständlich und nicht gut für die performance.
 
Kein Problem, wenn du magst kann ich dir mein Script gerne mal zur Verfügung stellen. Dann hast du vielleicht noch einen Denkanstoß.
 
Ich würde es auch dahingehend Programmieren, das dein Ajax nen DB-Eintrag macht (bereits vorhandenen editiert) und gleichzeitig abfragt ob alle Nutzer die bereits in der DB-Stehen in den letzten X-Minuten was geschrieben haben. Sollten Nutzer drin sein, die in dem X-Minuten Intervall nichts geschrieben habe, Löschst du einfach den Eintrag aus der DB. Somit hast du immer nur die Aktiven Leute in der Datenbank stehen.

Mit dem Logout button ist nicht so gut, da ich mich zB selten auslogge und somit immer online stehen würde.
 
Zurück