Mysql
 sql >> Base de données >  >> RDS >> Mysql

Vérifier si l'utilisateur est sur la page

Fondamentalement, ces choses fonctionnent comme suit.

Chaque fois que l'utilisateur effectue des actions (actualisation du chat, message envoyé, page visitée, etc.), un jeton associé à l'utilisateur (jeton enregistré sur votre serveur, DB par exemple) est mis à jour avec l'heure actuelle.

| 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 |

Et puis vous décidez qu'un utilisateur est en ligne si son jeton n'est pas trop ancien (5/10 minutes ?)

Vous pouvez améliorer cette méthode si vous utilisez AJAX pour envoyer une requête périodique au serveur toutes les 1 minute environ. Cette requête AJAX met à jour la valeur du jeton. Ainsi, de cette façon, vous pouvez également dire à l'utilisateur qu'il est en ligne s'il ne fait que regarder la page. Et lorsqu'il quitte (fermer le navigateur ou l'onglet), l'appel périodique AJAX s'arrête de fonctionner, donc au bout de 5/10 minutes l'utilisateur est déclaré hors ligne .

Bonne chance !