网络编程IO模型

1.  select,poll,epoll都是同步IO多路复用。select要根据设定的readfds,readfds判断哪些已经准备好了并返回。
2.  poll不需要手动更新readfds,writefds,且文件描述符个数无限制。
3.  select,poll实现需要不断轮询所有fd集合,直到设备就绪。select和poll在醒着的时候要遍历整个链表,而epoll在醒着的时候只要判断链表是否为空。
4.  可以使用signal(SIGCHLD,func),func 回调wait(waitpid)回收子进程。SIGCHLD发生在子进程退出时,默认关闭。

5.  线程分离,回收僵尸使用pthread_detach。

6.  线程就是一个函数,main函数是第一个被执行的 线程。

7.  fcntl:设置文件描述符的属性,可以用于接收信号。

8.  位域本质上是一种结构类型,不过他的成员是按二进制分配的,个体域必须存储在同一个字节。

9.  shutdown 用在网络编程中可仅关闭socket的读或写通道。

10.  通过grep EEXIST /usr/include -r 查看错误号列表

原文地址:https://www.cnblogs.com/oyjngz101/p/6040322.html