sql >> Database >  >> RDS >> Mysql

Controleer of de gebruiker op de pagina is

In principe werken deze dingen als volgt.

Elke keer dat een gebruiker actie onderneemt (chat vernieuwen, bericht verzonden, bezochte pagina, enz.), wordt een token dat aan de gebruiker is gekoppeld (token dat is opgeslagen op uw server, DB bijvoorbeeld) bijgewerkt met de huidige tijd.

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

En dan besluit je dat een gebruiker online is als zijn token niet te oud is (5/10 minuten?)

U kunt deze methode verbeteren als u AJAX gebruikt om elke minuut of zo een periodiek verzoek naar de server te sturen. Dit AJAX-verzoek werkt de tokenwaarde bij. Op deze manier kunt u dus ook zien dat de gebruiker online is als hij niets anders doet dan naar de pagina staren. En wanneer hij stopt (browser of tabblad sluiten), werkt AJAX periodieke oproep stopt, dus na 5/10 minuten wordt de gebruiker offline verklaard .

Veel succes!



  1. Batch meerdere select-instructies bij het aanroepen van Oracle vanuit ADO.NET

  2. Django migreren:maakt geen tabellen

  3. Gebruik variabele ingesteld door psql meta-commando in DO-blok

  4. Lege tekenreeks die een nul invoegt, geen null