1、TCP的连接与断开
三次握手与四次挥手
2、服务器端并发性处理
2.1 多进程模型
- 一个父进程,多个子进程
- 父进程负责等待并接受客户端连接
- 子进程: 完成通信,接受一个客户端连接,就创建一个子进程用于通信。
2.2 多线程模型
多线程服务器是对多进程服务器的改进,由于进程在创建进程时要消耗较大的系统资源,所以用线程来取代进程,这样服务处理程序可以较快的创建。据统计,创建线程与创建进程要快 10100 倍,所以又把线程称为“轻量级”进程。
2.3 I/O多路转换
使用系统提供的IO多路复用函数(select、poll、epoll),要求内核挂起进程,会有一个线程不断去轮询监控多个文件描述符的状态,只有在一个或多个I/O事件发生后,才将控制返回给应用程序,真正调用实际的IO读写操作。
3、UDP客户端服务器编程模型
UDP协议的程序设计框架,客户端和服务器之间的差别在于服务器必须使用bind()函数来绑定侦听的本地UDP端口,而客户端则可以不进行绑定,直接发送到服务器地址的某个端口地址