Rileva disconnessione cliente con HttpListener
-
19-09-2019 - |
Domanda
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.
Come faccio a sapere se un cliente è scollegato?
grazie!
Soluzione
Risposta breve: non si può. Se un cliente smette di parlare, lo zoccolo di base può rimanere aperta e non sarà mai vicino; sarà solo timeout. Il modo di rilevare questo è quello di tentare di eseguire un'azione su tale connessione e se la connessione non è più valido, sarà gettare una sorta di eccezione a seconda di quello che è successo. Se si utilizza HttpListener in modo asincrono, si può ripulire il codice un po 'in termini di un try / catch, ma purtroppo questo è quello che sei bloccato con. Non v'è nessun caso che il fuoco se il cliente si disconnette.