文章目录
两种服务器模型及三个模块
C/S模型
即常说的 客户端/服务器 模型,将资源(视频、文本、图片、软件等)提供者视作服务器,资源请求者视为客户端。
由于客户端连接请求(connect函数
)是随机到达的异步事件,服务器需要使用某种 I/O模型 来监听这一事件。例如 I/O复用技术之一的 select系统调用:当监听到连接请求后,服务器就调用 accept函数
接收它,并分配一个 逻辑单元(新创建的子进程、子线程等) 管理这个新连接。
工作流程如下图所示:
服务器在处理一个客户请求的同时还要继续监听其他客户请求,否则就变成了效率低下的串行服务器了(必须先处理完前一个客户的请求,才能继续处理下一个客户请求)。这一点上图中是通过 select系统调用
实现的。
- 优点&#