客户服务器交互模型_第1页
客户服务器交互模型_第2页
客户服务器交互模型_第3页
客户服务器交互模型_第4页
客户服务器交互模型_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、客户服务器交互模型学习引入:学习引入:l本部分的章节着重于互联网上的高级服务,以及提供这些服务的应用软件。l互联网提供的功能:互联网提供一个通用的通信构架,并不指明提供哪些服务,由哪些计算机来运行这些服务,如何确定服务的存在,以及如何使用这些服务这些问题都留给了应用软件和用户。l 虽然互联网系统提供基础的通信服务,但协议软件并不能启动与一台远程计算机的通信,也不能接受一台远程计算机的通信。相反,通信中必须有两个应用程序参加:一个启动通信,另一个接受通信。建立通信l虽然互联网通信与 拨号有相似之处,但两个应用使用互联网的方式与两个人使用 系统的方式仍有一个重要的区别。这个区别在于协议软件没有一个

2、相当于 铃的机制协议软件无法通知应用通信的到达,应用也无法确认接受任何收到的信息。应用程序通信的解决策略:应用程序通信的解决策略:l希望通信的应用必须在外部资源试图通信之前先与协议软件进行交互。应用通知本地协议软件希望得到一个特定类型的信息,然后等待。当收到 的信息恰好与应用所指定的相符时,协议软件将其传给应用。当然,一个通信所涉及的两个应 用不能都在等待信息到达一个应用必须主动地启动交互,另一个则被动地等待。客户服务器模式指两个应用程序,客户向服务器发出请求,服务器作出响应。l服务器处于守候状态,并监视客户端的请求l客户端提出请求从而启动通信l服务器接收请求,将执行请求的任务,并把结果返回给

3、客户客户服务器模式示意图 请求 响应客户传输层互联层网络接口层 响应 请求传输层服务器互联层网络接口层互联网客户与服务器的特性客户端l是一个在需要进行远程访问时临时成为客户,同时也做其他的本地计算的应用程序。l 直接被用户调用,只为一个会话运行。l 在用户的个人计算机上本地运行。l 主动地启动与服务器的通信。l能访问所需的多种服务,但在某一时刻只能与一个远程服务器进行主动通信。l不需要特殊的硬件和高级的操作系统。客户与服务器的特性服务器端软件l是一个用来提供某个服务的有特殊权限的专用程序,可以同时处理多个远程客户请求。l在系统启动时自动调用,不断地为多个会话服务。l在一台共享计算机上运行(即,

4、不是在用户的个人计算机上)。l被动地等待来自远端客户的通信l 接受来自任何客户的通信请求,但只提供一种服务。l需要强大的硬件和高级的操作系统支持。服务器程序与服务器类计算机l对服务器这个术语有时会产生一些混淆。通常地,这个术语指一个被动地等待通信的程序,而不是运行它的计算机。然而,当一台计算机被用来运行一个或几个服务器程序时,这台计算机本身有时也被(不正确地)称作服务器。硬件供应商加深了这种混淆,因为他们将那类具有快速C P U、大容量存储器和强大操作系统的计算机称为服务器。请求、应答与数据流向l信息在客户与服务器之间沿任一方向或两个方向传递。虽然许多服务安排成客户发送一个或多个请求而服务器返

5、回应答的方式,但其他的交互也是可能的。传输协议与客户服务器交互 客户与服务器的交互直接通过传输协议建立通信并收发信息。传输协议接着使用更低层的协议来收发自己的信息。因此,一台计算机不论是用来运行客户程序还是服务器程序都需要一个完整的协议栈。一台计算机上的多种服务一台服务器类计算机能够同时提供多种服务,每种服务需要一个独立的服务器程序。在一台计算机上运行多种服务是实际可行的,因为服务器在等待请求到来时是不占用计算资源的。服务器要求:服务器要求:l一套足够强大的计算机系统能够同时运行多个客户与服务器,这样就需要在两方面具有足够的能力。l计算机必须具有足够的硬件资源(例如一个快速的处理器和足够的存储

6、器)l有允许多个应用程序并发执行的操作系统(例如U N I X或Windows 200 server)。在这样的系统上,对应每种提供的服务有一个服务器程序在运行。C/S实现中需要解决的主要问题:实现中需要解决的主要问题:l标志一个特定的服务。l响应并发请求。l服务器程序的安全问题。标志一个特定的服务标志一个特定的服务l传输协议提供的一套机制能让客户无二义性地指明所希望的服务。这种机制赋给每个服务一个唯一的标识,并要求服务器和客户都使用这个标识。l在TCP/IP互联网中,服务器程序通常使用TCP协议或UDP协议的端口号作为自己的特定标志。响应并发请求响应并发请求l具有一个以上控制线程(有些系统使

7、用术语进程或任务来表示控制线程) 的程序称为并发(并发(c o n c u r r e n t)程序)程序。l并发性是客户服务器交互模式的基础,因为一个并发服务器同时为多个客户提供服务,而不要求每个客户等待服务器对前一个客户的服务结束。解决方案:解决方案:l重复服务器方案:使用请求队列。一般用于处理可在预期时间内处理完的请求,针对于面向无连接的客户-服务器模型。l并发服务器方案:使用守护进程,为每一个客户请求创建子进程,由子进程响应请求。一般用于处理不可在预期时间内处理完的请求,针对于面向连接的客户-服务器模型。服务器程序的安全问题服务器程序的安全问题l服务器程序具有相当高的特权l操作系统对服

8、务器程序试图访问的用户文件通常不加限制。套接字接口l利用操作系统提供的编程界面开发应用程序,实现与操作系统内核的操作lTCP/IP提供的典型编程界面为socket调用以Winsock控件方式出现lWinsock控件简介编程人员通过该控件访问TCP和UDP网络服务,通过设置控件的属性和调用方法来实现主机之间利用TCP通信-有连接的服务l客户程序设置控件的RemoteHost属性和RemotePort属性,并调用Connect方法l服务器程序设置LocalPort属性,然后调用Listen方法l当客户请求建立连接时,服务器程序产生ConnectionRequest事件,而服务器需要在事件中调用Accept方法完成连接的建立l调用SendData方法发送数据,而当接收到对方的数据时,将产生DataArrival事件,利用GetData方法获取收到的数据主机之间利用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论