学了一年的网络编程,感觉自己学的跟一拖屎一样
今天听大神说到了Epoll 中的epollout 事件, 我基本没有用过这种东西,我并不知道这个有什么用?
epollout 主要是用来传输大量数据的时候,没有办法一次将数据全部发送出去就需要将剩下的数据缓存起来,等内核通知缓冲区可写的时候再继续发送
epollout 在发送大型文件的时候需要进行处理,通知用户是不是内核的缓冲区可读,举个栗子,一次发送10G个文件,但是一次内核缓冲区之中只能存储200个字节的东西,这时候我们就需要注册epollout 事件,如果内核缓冲区可读的话,就通知内核有这个事件,一般是用户来进行注册的函数
在muduo之中,非阻塞编程,如果一次没有发送完毕,然后重新注册可写时间,如果可写,发送剩余的数据