Detectar desconexión de un cliente con HttpListener
-
19-09-2019 - |
Pregunta
tengo una aplicación que utiliza HttpListener, necesito saber cuando el cliente está desconectado, ahora tengo todo mi código dentro de un bloque try / catch que es bastante feo y no es una buena práctica.
¿Cómo puedo saber si un cliente está desconectado?
Gracias!
Solución
Respuesta corta: no se puede. Si un cliente deja de hablar, el socket subyacente puede permanecer abierto y no siempre muy unidos; sólo va a tiempo de espera. La forma de detectar esto es tratar de realizar una acción en ese sentido y si la conexión ya no es válida, que va a lanzar algún tipo de excepción en función de lo sucedido. Si utiliza HttpListener de forma asíncrona, puede limpiar su código un poco en términos de un try / catch, pero por desgracia eso es lo que está pegado con. No hay ningún evento que va a disparar si el cliente se desconecta.