第11章:客户-服务器交互模型.PPT

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章:客户-服务器交互模型

第11章:客户-服务器交互模型 客户-服务器交互模型的概念; 客户程序和服务器程序的一般特点; 实现客户-服务器模型需要解决的主要问题。 学习引入: 本部分的章节着重于互联网上的高级服务,以及提供这些服务的应用软件。 互联网提供的功能:互联网提供一个通用的通信构架,并不指明提供哪些服务,由哪些计算机来运行这些服务,如何确定服务的存在,以及如何使用这些服务—这些问题都留给了应用软件和用户。 虽然互联网系统提供基础的通信服务,但协议软件并不能启动与一台远程计算机的通信,也不能接受一台远程计算机的通信。相反,通信中必须有两个应用程序参加:一个启动通信,另一个接受通信。 建立通信 虽然互联网通信与电话拨号有相似之处,但两个应用使用互联网的方式与两个人使用电话系统的方式仍有一个重要的区别。这个区别在于协议软件没有一个相当于电话铃的机制—协议软件无法通知应用通信的到达,应用也无法确认接受任何收到的信息。 应用程序通信的解决策略: 希望通信的应用必须在外部资源试图通信之前先与协议软件进行交互。应用通知本地协议软件希望得到一个特定类型的信息,然后等待。当收到 的信息恰好与应用所指定的相符时,协议软件将其传给应用。当然,一个通信所涉及的两个应 用不能都在等待信息到达—一个应用必须主动地启动交互,另一个则被动地等待。 客户/服务器模式 指两个应用程序,客户向服务器发出请求,服务器作出响应。 服务器处于守候状态,并监视客户端的请求 客户端提出请求从而启动通信 服务器接收请求,将执行请求的任务,并把结果返回给客户 客户/服务器模式示意图 客户与服务器的特性-客户端 是一个在需要进行远程访问时临时成为客户,同时也做其他的本地计算的应用程序。 直接被用户调用,只为一个会话运行。 在用户的个人计算机上本地运行。 主动地启动与服务器的通信。 能访问所需的多种服务,但在某一时刻只能与一个远程服务器进行主动通信。 不需要特殊的硬件和高级的操作系统。 客户与服务器的特性-服务器端软件 是一个用来提供某个服务的有特殊权限的专用程序,可以同时处理多个远程客户请求。 在系统启动时自动调用,不断地为多个会话服务。 在一台共享计算机上运行(即,不是在用户的个人计算机上)。 被动地等待来自远端客户的通信 接受来自任何客户的通信请求,但只提供一种服务。 需要强大的硬件和高级的操作系统支持。 服务器程序与服务器类计算机 对服务器这个术语有时会产生一些混淆。通常地,这个术语指一个被动地等待通信的程序,而不是运行它的计算机。然而,当一台计算机被用来运行一个或几个服务器程序时,这台计算机本身有时也被(不正确地)称作服务器。硬件供应商加深了这种混淆,因为他们将那类具有快速C P U、大容量存储器和强大操作系统的计算机称为服务器。 请求、应答与数据流向 信息在客户与服务器之间沿任一方向或两个方向传递。虽然许多服务安排成客户发送一个或多个请求而服务器返回应答的方式,但其他的交互也是可能的。 传输协议与客户/服务器交互 客户与服务器的交互直接通过传输协议建立通信并收发信息。传输协议接着使用更低层的协议来收发自己的信息。因此,一台计算机不论是用来运行客户程序还是服务器程序都需要一个完整的协议栈。 一台计算机上的多种服务 服务器要求: 一套足够强大的计算机系统能够同时运行多个客户与服务器,这样就需要在两方面具有足够的能力。 计算机必须具有足够的硬件资源(例如一个快速的处理器和足够的存储器) 有允许多个应用程序并发执行的操作系统(例如U N I X或Windows 200 server)。在这样的系统上,对应每种提供的服务有一个服务器程序在运行。 C/S实现中需要解决的主要问题: 标志一个特定的服务。 响应并发请求。 服务器程序的安全问题。 标志一个特定的服务 传输协议提供的一套机制能让客户无二义性地指明所希望的服务。这种机制赋给每个服务一个唯一的标识,并要求服务器和客户都使用这个标识。 在TCP/IP互联网中,服务器程序通常使用TCP协议或UDP协议的端口号作为自己的特定标志。 响应并发请求 具有一个以上控制线程(有些系统使用术语进程或任务来表示控制线程) 的程序称为并发(c o n c u r r e n t)程序。 并发性是客户/服务器交互模式的基础,因为一个并发服务器同时为多个客户提供服务,而不要求每个客户等待服务器对前一个客户的服务结束。 解决方案: 重复服务器方案:使用请求队列。一般用于处理可在预期时间内处理完的请求,针对于面向无连接的客户-服务器模型。 并发服务器方案:使用守护进程,为每一个客户请求创建子进程,由子进程响应请求。一般用于处理不可在预期时间内处理完的请求,针对于面向连接的客户-服务器模型。 服务器程序的安全

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档