今日内容很实用,但是IO多路复用部分很难,学完还有点蒙,再理解理解
在fd_set定义变量的时候创建的文字描述符表,之后添加文字描述符,select()第一个变量是文字描述符的个数,最好定义为最大的文字描述符的值+1,之后是用于读的文字描述符的个数,写的文字描述符的个数,以及其他文字描述符的个数,最后是对于超时时间的设定
在使用select前一定要将原fds复制到一个新的变量tmpfds上,定义的fds在应用层,会将表格传给内核,内核对接收到数据的文字描述符置1,再传到应用层,会将最初的表格覆盖,所以需要将添加好后的表格复制到新的变量,再用来select
使用select进行IO多路复用