Título: Deteccion perdida de conexion socket en C Publicado por: PeKiN en 14 Junio 2011, 15:54 pm Hola! me gustaría saber si existen funciones o mecanismos para detectar fácilmente si, en una conexión mediante sockets TCP, se ha perdido la conexión por caida repentina o cierre del otro extremo. Seria una situación del estilo Servidor con varios Clientes, los Clientes se conectan y se registran en una base de datos y quedan conectados. El problema surge si se pierde la conexión de forma fortuita con el cliente (un corte de luz en el cliente, por ejemplo), qué forma sencilla y eficaz podría implementarse para detectar y eliminar al cliente de dicho registro.
Un saludo! Título: Re: Deteccion perdida de conexion socket en C Publicado por: ahkbar87 en 14 Junio 2011, 17:13 pm Creo que la misma función recv puedes usar para saber el estado de la conexión.
http://msdn.microsoft.com/en-us/library/ms740121(v=vs.85).aspx O si no usar SOCK_DGRAM con tus propios mecanismos, deben existir otras, pero no las conozco, saludos Título: Re: Deteccion perdida de conexion socket en C Publicado por: PeKiN en 14 Junio 2011, 17:27 pm Se me olvidó especificar que el entorno de programación es Linux. Gracias igualmente por la respuesta!
Título: Re: Deteccion perdida de conexion socket en C Publicado por: Danyel_Casvill en 14 Junio 2011, 17:42 pm http://es.tldp.org/Tutoriales/PROG-SOCKETS/prog-sockets.html
Espero te sirva.. Título: Re: Deteccion perdida de conexion socket en C Publicado por: PeKiN en 14 Junio 2011, 17:56 pm Gracias danyhack, pero la programación de sockets la controlo, lo que busco va un poco más allá y se trata de detectar un socket caido sin ser cerrado mediante el clásico "close()".
|