Si un servidor tcp y el cliente están conectados, me gustaría determinar cuándo el cliente ya no está conectado. Pensé que simplemente podía hacer esto al intentar enviar un mensaje al cliente y una vez que send() regrese con un -1, puedo derribar el socket. Esta implementación funciona en Windows, pero en el momento en que intento hacerlo en Linux con sockets BSD, la llamada a send() en la aplicación del servidor hace que la aplicación de mi servidor se bloquee si el cliente ya no está conectado. Ni siquiera devuelve un -1 ... solo termina el programa.Envío TCP no devuelve causa de bloqueo proceso
Explique por qué sucede esto. ¡Gracias por adelantado!