C#网络程序开发(第二版)读书笔记
作者:何波,傅由甲
出版社:清华大学出版社
出版时间:2019-01
C/S、B/S与P2P网络通信架构
一、C/S模型
1、定义
C/S(Client/Server)模型也叫作C/S结构,即客户机/服务器结构,它是在分散式系统、集中式系统和分布式系统的基础之上发展出来的,当前的大多数通信网络都是这种模型。
2、构成
C/S模型将一个网络事务处理分为两部分,
- 一部分是客户端(Client),主要负责界面和处理业务逻辑,并为用户提供网络请求服务的接口,如数据查询请求;
- 一部分是服务器端(Server),一般以数据处理能力较强的数据库管理系统作为后台,负责接收和处理用户对服务的请求,并将这些服务透明地提供给用户。
C/S结构一般采用两层结构,如图1-1所示。
3、实现方式
从程序实现角度来说,客户端和服务器端间的通信先由服务器端启动Server进程,然后等待客户端的请求服务;
客户端启动Client进程向服务器申请服务。服务器处理完一个客户端请求信息后再继续等待其他客户端的请求,周而复始地以这样一种方式进行。
在这种结构中,服务器硬件需要足够强的处理能力,才能满足客户的要求。
4、特点
C/S结构的技术较为成熟,其特点是交互性强,具有安全的存取模式,网络通信量低,响应速度快,利于处理大量的数据,可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器端来实现,既适用于实际应用程序,又适用于统一的计算和处理。
但是它也有缺点,即该结构的程序为针对性开发,不能灵活变更,维护和管理的难度比较大,通常只局限于小型局域网,不利于扩展。
二、B/S模型
1、定义
B/S(Browse/Server)模型即浏览器/服务器模式,也叫B/S结构。它只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。B/S结构是随着Internet技术的兴起,对C/S结构的变化和改进。它和C/S并没有本质区别,是C/S模型的一种特例,特殊在于这种模型必须使用HTTP(Hypertext TransferProtocol,超文本传送协议)。
2、构成
B/S结构采用的是三层客户机/服务器结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系分为三层。
三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分别表示为界面层、业务逻辑层和数据存储层3个不同的处理层,如图1-2所示。
3、实现方式
中间件作为构造三层结构的基础平台,具有如下主要功能:
- 负责客户机与服务器、服务器与数据库之间的连接和通信;
- 实现应用与数据库之间的高效连接。
具有中间件的三层结构在层与层之间相互独立,任一层的改变都不会影响其他层的功能。
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
而其余的工作,如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等,全部由服务器完成。可以看出,B/S结构相对于C/S结构是一个非常大的进步。
4、特点
B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强,如一台计算机可以访问任意一个Web服务器,用户只需要知道服务器的网址即可访问,不需要针对不同服务器分别提供专门的客户端软件。
但B/S结构的缺点在于数据存在安全性问题,对服务器要求过高,数据传输慢,软件个性化特点明显降低,而且实现复杂的应用构造有较大困难。
综上所述,两种模式各有利弊。C/S结构适用于特定范围,如局域网;而B/S结构则可以弥补C/S结构在应用平台上的功能不足。从可扩展性和高灵活性显示,B/S结构将是未来的发展方向。
三、 P2P模型
P2P(Peer-to-Peer)称为对等互连模型。
在此环境中,网络上的各台主机具有相同的功能,无主从之分,任一台计算机都是既可当服务器,设定共享资源供网络中其他计算机使用,又可作为工作站。
从程序实现来说,一个应用程序同时起到客户端和服务器的作用。
目前,它是小型局域网常用的组网方式,其优点是配置容易,通信便利,成本低;
缺点是可靠性不如C/S模型,易遭黑客攻击。