Estoy transfiriendo algún código de sockets BSD a Winsock, y no estoy seguro de cómo manejar el caso a continuación.Mezcla de identificadores de archivos y sockets en Winsock
Mi solicitud original se ejecuta una selección en tanto la entrada estándar y la toma de red:
FD_SET(sock, &fd);
FD_SET(0, &fd);
...
if (select(..., &fd, ...)...)
Intentar ejecutar esto en Winsock da un error 10038 (WSAENOTSOCK), lo cual tiene sentido, ya que lo que era identificador de archivo 0 en Linux (stdin) no es un socket (más precisamente: un tipo SOCKET) en Windows.
¿Existe alguna manera fácil de llevar esta prueba a los sockets de Windows?
gracias Máx. Voy a intentar esto hoy. Sin embargo, es un poco una pena; Esperaba tener una capa de portar Winsock; parece que esto requerirá un poco más de una reescritura que había imaginado. Oh bien. – Mikeage
No puede usar IO superpuesto en un mango a menos que se haya creado de una manera especial. En particular, esto significa que no podrá usar IO superpuesto en identificadores heredados, como las tres corrientes estándar. –