Escribí un programa de socket en C, pero a veces la función write() devuelve un error de tubería rota. ¿Qué está pasando?
En la programación de redes Linux, especialmente en la programación TCP, el error de señal SIGPIPE es un problema relativamente común. Supongo que estás usando un socket TCP. Si es así, es muy probable que estés escribiendo datos en un socket. ya cerrado, porque TCP es un protocolo orientado a conexión. Si la otra parte cierra el socket y usted continúa escribiendo datos en este socket, se activará esta señal.
Por lo tanto, se recomienda verificar si la otra parte ha cerrado el socket antes de escribir.
Si la respuesta es incorrecta, puedes seguir haciendo preguntas