UNIX网络编程卷一:第六章 I/O 复用 select, poll
2015-08-10 10:53
519 查看
什么时候使用?
当需要同时处理多个描述符时,需要使用I/O复用。
Unix下可用的5种I/O模型
1、阻塞I/O
2、非阻塞I/O
3、I/O复用 (select poll)
4、信号驱动I/O (SIGIO)
5、异步I/O (POSIX的aio_系列函数)
一个输入操作通常包括两个不同的阶段:
1、等待数据准备好 (等待数据从网络中到达,当所等待的分组到达时,它被复制到内核中的某个缓冲区。)
2、从内核向进程复制数据
如对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待的分组到达时,它被复制到内核中的某个缓冲区。
第二步,就是把数据从内核缓冲区复制到进程缓冲区。
当需要同时处理多个描述符时,需要使用I/O复用。
Unix下可用的5种I/O模型
1、阻塞I/O
2、非阻塞I/O
3、I/O复用 (select poll)
4、信号驱动I/O (SIGIO)
5、异步I/O (POSIX的aio_系列函数)
一个输入操作通常包括两个不同的阶段:
1、等待数据准备好 (等待数据从网络中到达,当所等待的分组到达时,它被复制到内核中的某个缓冲区。)
2、从内核向进程复制数据
如对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待的分组到达时,它被复制到内核中的某个缓冲区。
第二步,就是把数据从内核缓冲区复制到进程缓冲区。
相关文章推荐
- Nginx深入详解之多进程网络模型
- 【二分匹配】 [网络流24题] 最小路径覆盖问题
- 9.3tcp多进程并发模板和多线程并发模板
- 【概率dp,难度3颗星】hdu-5001(2014鞍山网络赛)
- Android 网络:使用URL访问网络资源,ImageView,下载到本地
- ajax开发框架和XMLhttpRequest、responseText、responseXml和JSON的应用
- 打造安全的App!iOS安全系列之 HTTPS
- TCP/IP网络编程 学习笔记_8 --优雅地断开套接字连接
- TCP/IP网络编程 学习笔记_8 --优雅地断开套接字连接
- C++ Builder XE8 安卓开发之使用TidTCPClient控件获取接收数据长度的方法
- 9.2网络-socket2_UDP通信 2015/8/7
- 校园多设备上网难?电信着力改造校园专用网络
- 9.1网络-socket1_TCP通信 2015/8/7
- 安全应急之网络异常排查win&linux-20150805
- httpclient http接口调用
- WCF走HTTP代理服务器进行通信
- ios网络编程(http、socket)
- 转载:HttpClient使用详解
- 打造安全的App!iOS安全系列之 HTTPS
- Ubuntu14.04桥接网络设置与SSH登陆