Vorgehensweise:
Jeder User braucht das Feld "lastAction", zum Beispiel als Timestamp. Wenn ein User etwas sendet an den Server, wird bei lastAction die letzte Uhrzeit eingetragen. Nun brauchst du im Server zum Beispiel eine Schleife, die in regelmäßigen Abständen alle Onlineuser auflistet und lastAction prüft. Wenn die lange in der Vergangenheit liegt (z.B. 15 Minuten) wird der User disconnected.