3.1 TCP服务的特点
基于字节流和基于报文段的区别:
UDP协议和IP协议一样,提供不可靠服务。它们都需要上层协议来处理数据确认和超时重传。
3.3 TCP连接的建立和关闭
3.4.2 TIME_WAIT状态
第5章 Linux网络编程基础API
通用socket
地址:
5.2 创建socket
:
socket
函数:
参数解释:
bind
函数:
监听socket
:
listen
accept
**connect
**接收连接:
5.8 数据读写:
TCP数据读写:
UDP数据读写:
第6章 高级I/O函数
6.1 pipe
函数
6.5 mmap
函数和munmap
函数
第8章 高性能服务器程序框架
8.1.1 CS模型
8.2 服务器编程框架
注意:I/O处理单元是服务器管理客户连接的模块。它通常要完成以下任务:等待并接受新的客户连接,接收客户数据,将服务器响应数据返回给客户端。
8.3 I/O模型
IO复用函数本身是阻塞的,它们能提高程序效率的原因在于它们具有同时监听多个IO事件的能力。
8.5 两种高效的并发模式
并发模式是指I/O处理单元和多个逻辑单元之间协调完成任务的方法。
9.3 epoll
系统调用
LT
和ET
模式:
ET,边缘触发模式,即epoll
的高效工作模式。当epoll_wait
检测到其上有事件发生并将此事件通知应用程序后,应用程序必须立即处理该事件。可见,ET
模式在很大程度上降低了同一个epoll
事件被重复触发的次数,因此效率要比LT
模式高。
9.4 三种IO复用函数的比较
第13章 多进程编程
13.1 fork系统调用:
pid_t fork(void);
13.3 处理僵尸进程:
wait
和waitpid
函数在父进程中调用,以等待子进程的结束,并获取子进程的返回信息,从而避免了僵尸进程的产生,或者使子进程的僵尸态立即结束。
wait
函数将阻塞
进程,直到该进程的某个子进程结束运行为止。
waitpid
函数可以设置非阻塞
。