1、网络应用程序设计 unit08 服务器模型1主要内容o网络服务器分类o循环服务器模型n UDP循环服务器模型n TCP循环服务器模型o并发服务器模型n UDP并发服务器模型n TCP并发服务器模型2网络服务器分类o循环服务器n 同一时刻只能处理一个客户端请求o并发服务器n 同一时刻可以处理多个客户端请求oUDP和 TCP服务器模型n UDP服务器通常采用循环服务器模型n TCP服务器通常采用并发服务器模型3循环服务器模型oTCP循环服务器模型创建网络端点绑定服务器地址和端口监听端口接受客户端连接处理客户端请求4循环服务器模型oUDP循环服务器模型阻塞等待 UDP数据包创建网络端点绑定服务器地址
2、和端口处理客户端请求5UDP并发服务器模型o模型 1客户端请求在一个数据报中完成n 特点p 用于客户请求需要较长处理时间且客户发送速度大于服务器处理速度的情况p 可以避免因接收缓冲区满而导致数据报丢失创建子进程服务器父进程 服务器子进程客户机共享 socket描述符和接收的数据报数据报数据报处理端请求6UDP并发服务器模型o模型 2客户端请求在多个数据报中完成通知新端口号数据报使用旧端口号使用新端口号创建子进程服务器父进程 服务器子进程客户机共享 socket描述符和接收的数据报数据报 处理请求7TCP并发服务器模型o模型 1 一个子进程对应一个客户端侦听连接接受连接创建子进程关闭已连接socket描述符服务器父进程处理请求终止子进程关闭已连接socket描述符fork服务器子进程8TCP并发服务器模型o模型 1 一个子进程对应一个客户端n 模型简单n 每个子进程完全独立n 可以同时处理多个客户端n 创建子进程开销较大,适合处理时间长的客户请求,例如 FTP文件传输n 当客户端数量大、客户请求处理时间短时会大大降低效率,如 HTTP服务器9TCP并发服务器模型o模型 1一个子进程对应一个客户端侦听连接接收连接关闭已连接socket描述符服务器父进程处理请求终止子进程关闭已连接socket描述符合法服务器子进程验证客户端不合法10