Non puoi con certezza esatta sapere se il cliente è chiuso. Puoi fare alcune supposizioni qualificate, ma non sarà mai affidabile.
Forse potresti trovare una soluzione in cui sei soddisfatto sapendo se una sessione client è attiva o no?
Una soluzione a bassa tecnologia sarebbe quella di salvare l'id di sessione (o una stringa identificativa univoca creata dall'utente) insieme a un timestamp. Ogni volta che il client effettua una nuova richiesta (caricamento di una nuova pagina e/o con AJAX), aggiorna il timestamp.
Dato che non si ha accesso a cronjobs, è necessario fare un altro compromesso - lasciare che gli altri visitatori ti dicano se il client è ancora attivo. Ogni volta che un visitatore carica una pagina, passa attraverso la tabella che memorizza gli ID di sessione e i timestamp e controlla se alcune sessioni sembrano più vecchie di quelle che considereresti attive.
Non è un sollievo al tuo problema esatto (dal momento che non può essere fatto) ma un compromesso low-tech.
Risposta breve: ** NO ** Ma è ancora possibile eseguire il ping dell'utente a intervalli regolari per verificare che –
tenga presente che questo fa affidamento sul fatto che l'utente ** lascia ** il ping per andare su –
cosa intendi con il ping gli utenti? – user1880610