Winsock no admite lectura / escritura

Con un pequeño programa de prueba (compilado con mingw en Linux), noté que no se puede usar elread ywrite invoca el socket fd tal como se obtiene usando la implementación de Winsock2 delsocket llamada. La llamada de escritura devuelve <0 y establece errno = EBADF.

Piense en los programas que se ejecutan desde xinetd, menos su suposición de que su stdin / stdout siempre es un socket. (Algunos programas llaman a getpeername, por ejemplo, que fallará si no es un socket, por lo tanto, pueden salir prematuramente).

Entonces, ¿cómo se supone que los programas de diagnóstico de {tipo de descriptor de archivo} que simplemente leen / escriben desde / a stdin / stdout funcionan razonablemente en el entorno win32 a menos que se hagan suposiciones sobre el fd?

O, dicho de forma más simple, ¿hay alguna llamada a una función mágica que se ejecute para conectar los fds de socket Winsock2 con win32 (bueno, mingw)write ¿implementación?

Respuestas a la pregunta(3)

Su respuesta a la pregunta