in genere si stabilisce un tempo di inattività, passato il quale lo consideri offline, quindi prima di fare la query per dare l'elenco degli utenti online ne fai una che setta a offline tutti gli utente che non scrivono messaggio da n minuti.