1、数据准备阶段
read 函数 :看read buffer里是否有数据,有数据则准备好了,没有数据则没有准备好。 有无数据
write/send 函数:看write buffer里面是否数据满了,如果满了,则没有准备好。满的还是非满的
2、epoll reactor 使用的是非阻塞io
3、阻塞io和非阻塞io都是属于同步io,因为都是用户调用。
异步调用是回调,内核调用
4、read 和 write 通道都关闭 则会返回 EPOLLHUP
5、close(fd),系统只是将fd的引用数量-1,当系统检测到fd引用数量为0时,才会将fd资源真正关闭,fd链接的数据都释放掉 。
正向代理,有明确的目标
反向代理,有多个目标,选择一个,一般是指代理服务器