C sharp - Detectar cuando un socket se desconecta

 
Vista:

Detectar cuando un socket se desconecta

Publicado por Martin (1 intervención) el 27/11/2007 17:26:49
Hola a todos, estoy haciendo una pequeña aplicacion que conecta un varios clientes a un servidor mediante TCP usando las clases TCPListener y TCPClient.
Lo estoy haciendo en modo asincrónico para poder seguir ejecutando la aplicación sin que se bloquee todo, pero tengo el problema que no se como detectar cuando un cliente se desconecta.
Basicamente tengo un procedimiento llamado StartListening que lo que hace entre otras cosas es iniciar la aceptacion de conexion de algun cliente:

...
listener.BeginAccept(new AsyncCallback(AcceptCallback), listener);
...

El AcceptCallback es el procedimiento al que se llama cuando un cliente se conecta y dentro de este procedimiento utilizo el EndAccept para confirmar la conexion.
Todo bien hasta acá, pero el problema surge cuando un cliente se desconecta ya que no lo detecto y tambien cuando cierro la aplicacion sin haber detenido el listener.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder