分享这篇受益匪浅的好文章
fd_set文章
回顾用户态和内核态的交互
- 用户态应用程序调用系统调用(系统调用相当于内核态的一组接口,满足用户态应用程序调用内核的使用)
- 用户态的应用程序也可以调用系统函数库的函数,函数库是在系统调用的基础上做了封装
IO底层的实现
- IO通信是在内核态中实现的,需要用户态调用系统调用实现
- 这里的系统调用接口其实就是select()方法,select返回需要的IO数据
select方法参数以及返回值
select的作用:使用socket套接字时,socket的读写需要调用系统调用select方法实现,select实现多路复用,每次socket调用select只需要注册,socket在fd_set集合中,一个select可以负责多个IO操作
- select原型
int s