我在网上找不到关于这个问题的答案。
当在Linux上调用选择以读取文件并将套接字设置为非阻塞时,应该期望什么呢?
我认为这并不像select手册中所述那样简单:
在readfds列表中列出的内容将被观察以查看是否有字符可供读取(更准确地说,是查看读取是否会被阻塞;特别是,在文件结束符处也可以随时读取文件描述符)
如果将套接字设置为非阻塞,则它永远不应该被阻塞,select是否应立即返回?这听起来不对...是Hyde文档错了还是忽略了这种情况?
此外,如果select确实会被阻塞,它应该返回什么值?读取套接字不会被阻塞,但套接字没有可供读取的数据..
当我回家后,我会写一些代码示例并编辑这个问题,这可能对任何谷歌这个主题的人都有很大帮助。