UDP:单循环服务器,服务器同一时刻只能响应一个客户端的请求
TCP:并发服务器,服务器同一时刻只能响应多个客户端的请求
一、构建TCP并发服务器
让TCP服务端具备同时响应多个客户端的能力。
1.多进程
资源消耗大,同资源平台下,并发量小。
2.多线程
创建线程、进程,比较耗时
3.线程池
提前预创建大量线程,避免任务执行过程中创建线程的耗时
4.IO多路复用
多线程创建线程、进程,比较耗时线程池提前预创建大量线程,避免任务执行过程中创建线程的耗时
优势:节省资源
劣势:不利于处理比较耗时、延时比较长的任务
1.创建文件描述符集合
2.将关注的文件描述符加入到集合
3.等待IO事件到达
4.根据不同的I0事件处理不同的任务
阻塞IO:
read、recv、fgets、recvfrom
IO多路复用(转接):
在不创建新的进程和线程的前提下,可以在一个进程
中同时监测多个IO(