在Win32中,有没有办法测试套接字是否是非阻塞的?
在POSIX系统下,我会做类似以下的事情:
int is_non_blocking(int sock_fd) {
flags = fcntl(sock_fd, F_GETFL, 0);
return flags & O_NONBLOCK;
}
Run Code Online (Sandbox Code Playgroud)
但是,Windows套接字不支持fcntl().使用ioctl和FIONBIO 设置非阻塞模式,但似乎没有办法使用ioctl 获得当前的非阻塞模式.
在Windows上是否有其他一些调用我可以用来确定套接字当前是否处于非阻塞模式?