Red de conocimiento de abogados - Derecho de sociedades - ¿Por qué aparece un descriptor de archivo incorrecto al enviar en Linux?

¿Por qué aparece un descriptor de archivo incorrecto al enviar en Linux?

Debido a que se trasplanta de Windows a Linux y usa la biblioteca libevent, es necesario cambiar muchas cosas. Una de ellas es: evutil_socketpair(AF_INET, SOCK_STREAM, 0, fd); send(fd [0], "", 1, 0) siempre devuelve -1, perror(), devuelve Descriptor de archivo incorrecto. Lo verifiqué en línea: puede deberse a que el descriptor del archivo es incorrecto o está cerrado, así que verifiqué el archivo. encabezado utils.h de libevent. En el archivo en Linux, evutil_sockepair() en realidad llama a la función del sistema Linux socketpair(). Fui a Linux man socketpair y la gente dijo que en Linux, la entrada de socketpair solo puede ser AF_UNIX. Encontré el problema y cambié el evutil_socketpair (AF_INET, SOCK_STREAM, 0, fd) original a evutil_socketpair (AF_UNIX, SOCK_STREAM, 0, fd) para que se ejecute normalmente, por lo que depurar ideas y encontrar información son habilidades muy importantes. ! !