2009-08-25 17 views
8

Ho un'applicazione che utilizza HttpListener, ho bisogno di sapere quando il client è disconnesso, in questo momento ho tutto il mio codice all'interno di un blocco try/catch che è piuttosto brutto e non una buona pratica.Rileva disconnessione client con HttpListener

Come posso sapere se un client è disconnesso?

grazie!

risposta

8

Risposta breve: non è possibile. Se un client smette di parlare, il socket sottostante potrebbe restare aperto e non chiuderà mai; sarà solo timeout. Il modo per rilevare ciò è tentare di eseguire un'azione su quella connessione e se la connessione non è più valida, verrà generata una sorta di eccezione a seconda di cosa è successo. Se si utilizza HttpListener in modo asincrono, si può pulire un po 'il codice in termini di try/catch ma sfortunatamente è quello con cui si è bloccati. Non vi è alcun evento che si attiva se il client si disconnette.

Problemi correlati