ssize_t read(int fd, void * data, size_t count);
这个函数到底是干什么的?
网上的许多文章都说它会尝试从文件描述符 fd 中读取数据。那这是什么意思呢?"尝试"是指什么?另外,这个函数是怎样设计的呢?操作系统会缓存传入的消息吗?还是说这是一个实时操作?我是说,如果我不及时"读取",是否有可能导致某些数据包丢失?
编辑:
我一直在想为什么这个函数不是阻塞式的。然后我想知道为什么 read(...) 函数具有比代码片段中看到的所有其他函数更多的参数。最后我意识到它是read(...) 而不是recv(...)。真不幸,它仍然几乎按照我的预期工作。有趣的是,我们的联想能力常常与我们开玩笑(不要修改)。我不得不承认,用德语示例对读者有更大的影响......