Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Überprüfen Sie, ob der Benutzer auf der Seite ist

Grundsätzlich funktionieren diese Dinge wie folgt.

Jedes Mal, wenn Benutzer Aktionen ausführen (Chataktualisierung, gesendete Nachricht, besuchte Seite usw.), wird ein dem Benutzer zugeordneter Token (Token, der beispielsweise in Ihrem Server gespeichert ist, DB) mit der aktuellen Zeit aktualisiert.

| User ID     | Last action         |
-------------------------------------
| 14 (mark)   | 2012-02-09-10:34:53 |
| 56 (phil)   | 2012-02-09-09:12:34 |
|  9 (john)   | 2012-02-09-10:33:11 |

Und dann entscheiden Sie, dass ein Benutzer online ist wenn sein Token nicht zu alt ist (5/10 Minuten?)

Sie können diese Methode verbessern, wenn Sie AJAX verwenden, um etwa alle 1 Minute eine regelmäßige Anfrage an den Server zu senden. Diese AJAX-Anforderung aktualisiert den Tokenwert. Auf diese Weise können Sie dem Benutzer also auch dann sagen, dass er online ist, wenn er nur auf die Seite starrt. Und wenn er beendet (Browser oder Tab schließen), stoppt der periodische AJAX-Aufruf, sodass der Benutzer nach 5/10 Minuten für offline erklärt wird .

Viel Glück!