linux网络IO模型
- 阻塞IO模型 所有的IO操作都是阻塞的,在进程空间调用recvfrom,其系统调用一直等到数据包到达且复制到应用进程的缓冲区
- 非阻塞IO模型 recvform从应用层到内核的时候,如果缓冲区没有数据的时候,就直接返回一个错误信号,一般是对非阻塞IO去轮询这个状态
- IO多路复用 linux提供select/poll,进程通过一个或多个fd传递给select或poll系统调用,阻塞在select操作上,侦测fd是否处于就绪状态,顺序扫描。epoll使用基于事件驱动代替顺序扫描,性能更高。
- 信号驱动IO模型 当数据准备就绪时,就为该进程生产一个信号,通过信号回调调用receform来读取数据。
- 异步IO 数据已拷贝到应用进程缓冲区。

浙公网安备 33010602011771号