2009-08-25 35 views
8

Tengo una aplicación que utiliza HttpListener, necesito saber cuándo se desconectó el cliente, ahora tengo todo mi código dentro de un bloque de prueba/captura que es bastante feo y no es una buena práctica.Detectar desconexión de cliente con HttpListener

¿Cómo puedo saber si un cliente se desconectó?

gracias!

Respuesta

8

Respuesta corta: no se puede. Si un cliente deja de hablar, el socket subyacente puede permanecer abierto y no cerrará nunca; solo tendrá tiempo de espera. La forma de detectar esto es intentar realizar una acción en esa conexión y, si la conexión ya no es válida, arrojará algún tipo de excepción en función de lo sucedido. Si usa HttpListener de manera asíncrona, puede limpiar su código un poco en términos de un try/catch, pero desafortunadamente eso es lo que le impide. No hay evento que se activará si el cliente se desconecta.

Cuestiones relacionadas