2

似乎这两个选项都可以用来使套接字非阻塞/异步?

或者非阻塞和异步有什么区别?

4

1 回答 1

3

如果您还没有,您可以在 Wikipedia 上的BSD 套接字页面上 查看非阻塞和阻塞套接字之间的区别。

此外,您可以查看 ioctlsocket() MSDN 页面以了解有关 FIONBIO 的一些详细信息

据 IBM 称

FIOASYNC 启用一种简单形式的异步 I/O 通知。当 I/O 可能时,此命令使内核向进程或进程组发送 SIGIO 信号。只有套接字、tty 和伪 tty 实现此功能。

FIONBIO 启用非阻塞 I/O。效果类似于使用 fcntl 子例程设置 O_NONBLOCK 标志。此命令的 ioctl 子例程的第三个参数是一个指向整数的指针,该整数指示是启用还是禁用非阻塞 I/O。值 0 禁用非阻塞 I/O。

我希望这对你有所帮助。

于 2011-09-16T06:06:00.937 回答