参考书籍《后台开发 核心技术与应用实践》《Linux高性能服务器编程》 《APUE》
之前唠到了socket,唠到了怎么建立连接。
这篇文章就唠一下,怎么向socket中写数据,怎么从socket中读出数据以及高效的读写----多路IO复用技术
I/O模型介绍
阻塞I/O
门口坐着瞅(阻塞)------(一直到)来了老弟------------办事
调用者调用了某个函数,等待这个函数返回,期间什么也不做,不停的去检查这个函数有没有返回,必须等这个函数返回才能进行下一步动作
非阻塞I/O
瞅一下–瞅一下–瞅一下。。。。-----------来了老弟---------办事
非阻塞等待,每隔一段时间就去检测IO事件是否就绪。没有就绪就可以做其他事。非阻塞I/O执行系统调用总是立即返回,不管时间是否已经发生,若时间没有发生,则返回-1,此时可以根据errno区分这两种情况,对于accept,recv和send,事件未发生时,errno通常被设置成eagain