¿Cómo rastrear el estado en línea de los usuarios de mi sitio web?

Quiero hacer un seguimiento de los usuarios que están en línea en este momento.

La definición de estar en línea es cuando están en la página de índice del sitio web que tiene la función de chat.

Hasta ahora, todo lo que puedo pensar es configurar una cookie para el usuario y, cuando se encuentra la cookie en la próxima visita, se realiza una llamada ajax para actualizar una tabla con su nombre de usuario, su estado en línea y la hora.

Ahora mi pregunta real es, ¿cómo puedo convertir de forma fiable su estado aapagado Cuando salen de la web? Lo único que se me ocurre es establecer una cantidad predeterminada de tiempo sin interacción del usuario y luego establecer el estado enapagado.

Pero lo que realmente quiero es mantener el estado.en siempre y cuando estén en el sitio, con o sin interacción, y solo vayan aapagado Cuando salen del sitio.

Respuestas a la pregunta(6)

Su respuesta a la pregunta