se registra ya sea el usario o la ip en una base de datos con la un campo datetime (dia horas minutos segundos ) y cuando navega en el sitio actualiza este mismo, y ya tu estableces un intervalo de tiempo para decir cuando esta o no conectado (actividad del usaurio ) ejemplo 5 minutos si depues de 5 minutos el usuario no actualiza ninguna pagina lo das por descoenctado..
existen otras maneras de comuncacion continua con el servidor pero son mas complejas y la mayoroa no estan echas asi.