Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是网络编程的新手。假设我们已经注册了一个用于 epoll 的套接字EPOLLIN|EPOLLET。我们知道我们应该在调用通知时从该套接字读取所有数据epoll_wait。我们通常read(fd, buffer, buf_size)在循环中调用并将数据读入缓冲区,直到我们得到EAGAINor EWOULDBLOCK。
EPOLLIN|EPOLLET
epoll_wait
read(fd, buffer, buf_size)
EAGAIN
EWOULDBLOCK
但是如果由于缓冲区大小不足而无法读取此循环中的所有数据该怎么办?是否有缓冲区大小的推荐值可以确保它足以存储所有数据,或者我们只是将其视为要处理的错误?