文档详情

第四章UNIX网络编程实用技术.pdf

发布:2017-09-23约4.93万字共59页下载文档
文本预览下载声明
第四章 UNIX网络编程实用技术 第四章 UNIX网络编程实用技术 前面的章节已经讲述了套接字实现的基本方 前面的章节已经讲述了套接字实现的基本方 法。然而,在实际应用中,一个软件仅能完成 法。然而,在实际应用中,一个软件仅能完成 相应的功能是不够的,还必须有足够的处理能 相应的功能是不够的,还必须有足够的处理能 力及响应速度。对于服务器/客户体系的软件 力及响应速度。对于服务器/客户体系的软件 而言,服务器的性能则占据主导地位。而通过 而言,服务器的性能则占据主导地位。而通过 并发技术,能极大地提高服务器的处理能力和 并发技术,能极大地提高服务器的处理能力和 响应速度,因此本章将详细讲述在各种类型并 响应速度,因此本章将详细讲述在各种类型并 发服务器环境下编程的一些实用技术。 发服务器环境下编程的一些实用技术。 1 主要内容 主要内容 并发服务器基础 并发服务器基础 多进程服务器 多进程服务器 多线程服务器 多线程服务器 I/O多路复用服务器 I/O多路复用服务器 2 4.1 并发服务器基础 4.1 并发服务器基础 4.1.1 服务器分类 4.1.1 服务器分类 – 按连接类型分类 – 按连接类型分类 • 面向连接的服务器 • 面向连接的服务器 • 面向无连接的服务器 • 面向无连接的服务器 – 按处理方式分类 – 按处理方式分类 • 重复型服务器 • 重复型服务器 – 每次只处理一个客户请求,当上一个客户请求处理完成后,才 – 每次只处理一个客户请求,当上一个客户请求处理完成后,才 处理下一个客户请求。效率低,实现简单 处理下一个客户请求。效率低,实现简单 • 并发型服务器 • 并发型服务器 – 每次可处理多个客户请求。效率高,实现复杂 – 每次可处理多个客户请求。效率高,实现复杂 3 4.1.2 重复型服务器实例 4.1.2 重复型服务器实例 服务器端程序 服务器端程序 – 服务器等待客户连接,一旦有连接则显示客户的地址,然 – 服务器等待客户连接,一旦有连接则显示客户的地址,然 后接收来自该客户的信息(字符串)。每当收到一个字符 后接收来自该客户的信息(字符串)。每当收到一个字符 串,则显示该字符串,并将字符串反转,再将反转的字符 串,则显示该字符串,并将字符串反转,再将反转的字符 串发回客户。之后,继续等待该客户的信息直至该客户关 串发回客户。之后,继续等待该客户的信息直至该客户关 闭连接。完成与该客户交互后,服务器开始等待下一客户 闭连接。完成与该客户交互后,服务器开始等待下一客户 请求,并重复上述过程。 请求,并重复上述过程。 客户端程序 客户端程序 – 客户首先与相应服务器连接。然后接收用户输入的字符 – 客户首先与相应服务器连接。然后接收用户输入的字符 串,再将字符串发送给服务器,接收服务器发回的信息并 串,再将字符串发送给服务器,接收服务器发回的信息并 显示。之后,继续等待用户输入直至用户输入CTRL+D。 显示。之后,继续等待用户输入直至用户输入CTRL+D。 当收到用户输入的CTRL+D后,客户关闭连接并退出。 当收到用户输入的CTRL+D后,
显示全部
相似文档