问题聚焦:
核心章节。
服务器一般分为如下三个主要模块:I/O处理单元(四种I/O模型,两种高效事件处理模块),逻辑单元(两种高效并发模式,有效状态机)和存储单元(不讨论)。
服务器模型
C/S模型
结构:
特点:
逻辑简单。
工作流程:
I/O复用技术:select,同时监听多个客户请求。
优点:适合资源相对集中的场合。
缺点:当访问量过大,可能所有客户都将得到很慢的相应。
P2P模型
结构:两种结构
结构b比结构a增加了发现服务器,用于主机之间的互相发现,尽快找到自己需要的资源。
特点:
摒弃了服务器为中心的格局,让网络上所有主机处于对等的地位。
每台机器在消耗服务的同时也给别人提供服务
缺点:当用户之间传输的请求过多时,网络的负载将加重
服务器编程框架
基本框架:
模块说明:
模块
|
单个服务器程序
|