我正在将一些代码从 BSD 套接字移植到 Winsock,但我不确定如何处理下面的情况。
我的原始应用程序在标准输入和网络套接字上运行一个选择:
FD_SET(sock, &fd);
FD_SET(0, &fd);
...
if (select(..., &fd, ... )...)
尝试在 Winsock 中运行它会出现错误 10038 (WSAENOTSOCK),这是有道理的,因为 Linux 中的文件句柄 0 (stdin) 不是 Windows 中的套接字(更准确地说:SOCKET 类型)。
有没有一种简单的方法可以将此测试移植到 Windows 套接字?