已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章 客户 服务器交互模型 客户 服务器交互模型的概念 客户程序和服务器程序的一般特点 实现客户 服务器模型需要解决的主要问题 1 学习引入 本部分的章节着重于互联网上的高级服务 以及提供这些服务的应用软件 互联网提供的功能 互联网提供一个通用的通信构架 并不指明提供哪些服务 由哪些计算机来运行这些服务 如何确定服务的存在 以及如何使用这些服务 这些问题都留给了应用软件和用户 虽然互联网系统提供基础的通信服务 但协议软件并不能启动与一台远程计算机的通信 也不能接受一台远程计算机的通信 相反 通信中必须有两个应用程序参加 一个启动通信 另一个接受通信 2 建立通信 虽然互联网通信与电话拨号有相似之处 但两个应用使用互联网的方式与两个人使用电话系统的方式仍有一个重要的区别 这个区别在于协议软件没有一个相当于电话铃的机制 协议软件无法通知应用通信的到达 应用也无法确认接受任何收到的信息 3 应用程序通信的解决策略 希望通信的应用必须在外部资源试图通信之前先与协议软件进行交互 应用通知本地协议软件希望得到一个特定类型的信息 然后等待 当收到的信息恰好与应用所指定的相符时 协议软件将其传给应用 当然 一个通信所涉及的两个应用不能都在等待信息到达 一个应用必须主动地启动交互 另一个则被动地等待 4 客户 服务器模式 指两个应用程序 客户向服务器发出请求 服务器作出响应 服务器处于守候状态 并监视客户端的请求客户端提出请求从而启动通信服务器接收请求 将执行请求的任务 并把结果返回给客户 5 客户 服务器模式示意图 6 客户与服务器的特性 客户端 是一个在需要进行远程访问时临时成为客户 同时也做其他的本地计算的应用程序 直接被用户调用 只为一个会话运行 在用户的个人计算机上本地运行 主动地启动与服务器的通信 能访问所需的多种服务 但在某一时刻只能与一个远程服务器进行主动通信 不需要特殊的硬件和高级的操作系统 7 客户与服务器的特性 服务器端软件 是一个用来提供某个服务的有特殊权限的专用程序 可以同时处理多个远程客户请求 在系统启动时自动调用 不断地为多个会话服务 在一台共享计算机上运行 即 不是在用户的个人计算机上 被动地等待来自远端客户的通信接受来自任何客户的通信请求 但只提供一种服务 需要强大的硬件和高级的操作系统支持 8 服务器程序与服务器类计算机 对服务器这个术语有时会产生一些混淆 通常地 这个术语指一个被动地等待通信的程序 而不是运行它的计算机 然而 当一台计算机被用来运行一个或几个服务器程序时 这台计算机本身有时也被 不正确地 称作服务器 硬件供应商加深了这种混淆 因为他们将那类具有快速CPU 大容量存储器和强大操作系统的计算机称为服务器 9 请求 应答与数据流向 信息在客户与服务器之间沿任一方向或两个方向传递 虽然许多服务安排成客户发送一个或多个请求而服务器返回应答的方式 但其他的交互也是可能的 10 传输协议与客户 服务器交互 客户与服务器的交互直接通过传输协议建立通信并收发信息 传输协议接着使用更低层的协议来收发自己的信息 因此 一台计算机不论是用来运行客户程序还是服务器程序都需要一个完整的协议栈 11 2020 1 7 12 一台计算机上的多种服务 一台服务器类计算机能够同时提供多种服务 每种服务需要一个独立的服务器程序 在一台计算机上运行多种服务是实际可行的 因为服务器在等待请求到来时是不占用计算资源的 13 服务器要求 一套足够强大的计算机系统能够同时运行多个客户与服务器 这样就需要在两方面具有足够的能力 计算机必须具有足够的硬件资源 例如一个快速的处理器和足够的存储器 有允许多个应用程序并发执行的操作系统 例如UNIX或Windows200server 在这样的系统上 对应每种提供的服务有一个服务器程序在运行 14 C S实现中需要解决的主要问题 标志一个特定的服务 响应并发请求 服务器程序的安全问题 15 标志一个特定的服务 传输协议提供的一套机制能让客户无二义性地指明所希望的服务 这种机制赋给每个服务一个唯一的标识 并要求服务器和客户都使用这个标识 在TCP IP互联网中 服务器程序通常使用TCP协议或UDP协议的端口号作为自己的特定标志 16 响应并发请求 具有一个以上控制线程 有些系统使用术语进程或任务来表示控制线程 的程序称为并发 concurrent 程序 并发性是客户 服务器交互模式的基础 因为一个并发服务器同时为多个客户提供服务 而不要求每个客户等待服务器对前一个客户的服务结束 17 解决方案 重复服务器方案 使用请求队列 一般用于处理可在预期时间内处理完的请求 针对于面向无连接的客户 服务器模型 并发服务器方案 使用守护进程 为每一个客户请求创建子进程 由子进程响应请求 一般用于处理不可在预期时间内处理完的请求 针对于面向连接的客户 服务器模型 18 服务器程序的安全问题 服务器程序具有相当高的特权操作系统对服务器程序试图访问的用户文件通常不加限制 19 套接字接口 利用操作系统提供的编程界面开发应用程序 实现与操作系统内核的操作TCP IP提供的典型编程界面为socket调用VB6 0以Winsock控件方式出现Winsock控件简介编程人员通过该控件访问TCP和UDP网络服务 通过设置控件的属性和调用方法来实现主机之间利用TCP通信 有连接的服务客户程序设置控件的RemoteHost属性和RemotePort属性 并调用Connect方法 20 服务器程序设置LocalPort属性 然后调用Listen方法当客户请求建立连接时 服务器程序产生ConnectionRequest事件 而服务器需要在事件中调用Accept方法完成连接的建立调用SendData方法发送数据 而当接收到对方的数据时 将产生DataArrival事件 利用GetData方法获取收到的数据主机之间利用UDP通信 非连接服务客户机程序设置好RemoteHost属性和RemotePort属性服务器程序设置好LocalPor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏南通市人才事务所有限公司招聘工作人员13人笔试备考试题及答案详解
- 2026年蚌埠自贸区城发人力资源有限公司第三期招聘笔试备考试题及答案详解
- 2026广东湛江市审计局就业见习岗位招聘3人笔试备考试题及答案详解
- 2026天津市河北区海德津师实验高级中学招聘笔试备考试题及答案详解
- 2026广东广州南沙人力资源发展有限公司招聘项目人员11人笔试模拟试题及答案详解
- 2026年邮政储蓄银行(重庆分行)校园招聘考试备考题库及答案详解
- 2026江苏镇江市句容产业发展集团有限公司下属企业选聘17人笔试备考试题及答案详解
- 2026恩施州顺鑫达劳务有限责任公司招聘财务人员1人笔试备考题库及答案详解
- 2026广东广州市番禺区第八人民医院招考编外工作人员(第二批)2人笔试备考题库及答案详解
- 2026四川川交路桥有限责任公司招聘26人笔试参考题库及答案详解
- 2026年水利水电安全b证预测试题及完整答案详解【典优】
- 考点主考校长在2026年高考考务工作会议上的讲话:高考在即责任如山慎终如始
- 2026年甘肃高考政治真题试卷(含答案)
- 2025年基本级执法资格考试真题及参考答案
- 人教版高中生物选择性必修3《生物技术与工程》模块综合测评卷(一)原卷+答案
- 初中数学九年级下册《投影与视图》单元整体教学设计 -2
- 3.1 地球是我们的家园 课件(内嵌视频) 2025-2026学年教科版科学三年级下册
- 2026年专业技术人员继续教育公需科目考试试题及答案
- 2026湖北机场集团招聘笔试备考试题及答案解析
- 合并OSAHS患者围手术期气道管理要点
- 建筑与房地产经济高级经济实务经济师考试试题及答案(2025年)
评论
0/150
提交评论