网络编程实用教程第1章.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.基于因特网的C/S模式的应用程序的特点 客户和服务器都是软件进程,C/S模式是网络上通过进程通信建立分布式应用的常用模型。 非对称性:服务器通过网络提供服务,客户通过网络使用服务,这种不对称性体现在软件结构和工作过程上。 对等性:客户和服务器必有一套共识的约定,必与以某种应用层协议相联,并且协议必须在通信的两端实现。比如浏览器和3W服务器就都基于HTTP超文本传输协议。 服务器的被动性:服务器必须先行启动,时刻监听,日夜值守,及时服务,只要有客户请求,就立即处理并响应,回传信息。但决不主动提供服务。 客户机的主动性:客户机可以随时提出请求,通过网络得到服务,也可以关机走人,一次请求与服务的过程是由客户机首先激发的。 一对多:一个服务器可以为多个客户机服务,客户机也可以打开多个窗口,连接多个服务器。 分布性与共享性:资源在服务器端组织与存储,通过网络分散在多个客户端使用。 1.服务器程序与服务器类计算机 服务器(server)这个术语来指那些运行着的服务程序。 服务器类计算机(server-class computer)这一术语来称呼那些运行服务器软件的强大的计算机。 1.3.4 容易混淆的术语 2.客户与用户 “客户”(client)和服务器都指的是应用进程,即计算机软件。 “用户”(user)指的是使用计算机的人。 图1.10 用户、客户、服务器、服务器类计算机 客户与服务器的通信过程一般是这样的: 通信之前,服务器应先行启动,并通知它的下层协议栈做好接收客户请求的准备,然后被动地等待客户的通信请求,称服务器处于监听状态。 一般是先由客户向服务器发送请求,服务器向客户返回应答。客户随时可以主动启动通信,向服务器发出连接请求,服务器接收这个请求,建立了二者的通信关系。 客户与服务器的通信关系一旦建立,客户和服务器都可发送和接收信息。信息在客户与服务器之间可以沿任一方向或两个方向传递。在某些情况下,客户向服务器发送一系列请求,务器相应地返回一系列应答。 1.3.5 客户与服务器的通信过程 1.3.6 网络协议与C/S模式的关系 客户与服务器作为两个软件实体,它们之间的通信是虚拟的,是概念上的,实际的通信要借助下层的网络协议栈来进行。 网络应用进程与应用层协议间的关系: 为了解决具体应用问题而彼此通信的进程,称为网络应用进程; 应用层协议并不解决任何具体问题,而是规定了网络应用进程通信时必须遵守的约定。 应用层协议在网络应用进程之下,并为网络应用进程服务,帮助应用进程组织数据。 1.3.7 错综复杂的C/S交互 在C/S模式中,存在着三种一个与多个的关系: 一个服务器同时为多个客户服务; 一个用户的计算机上同时运行多个连接不同服务器的客户; 一个服务器类的计算机同时运行多个服务器。 图1.11 一台计算机中的多个服务器被多个计算机的客户访问 1.3.8 服务器如何同时为多个客户服务 并发性是客户/服务器交互模式的基础,并发允许多个客户获得同一种服务,而不必等待服务器完成对上一个请求的处理。这样才能很好地同时为多个客户提供服务。 图1.12 服务器创建多个线程来为多个客户服务 在一台服务器类的计算机中可以并发地运行多个服务器进程。它们都要借助协议栈来交换信息,协议栈就是多个服务器进程传输数据的公用通道, 这有了一个问题,既然在一个服务器类计算机中运行着多个服务器,如何能让客户无二义性地指明所希望的服务? 1.3.9 标识一个特定服务 图1.13 沙漏计时器形状的TCP/IP协议族 这个问题由传输协议栈提供的一套机制来解决。 这种机制必须赋给每个服务一个唯一的标识,并要求服务器和客户都使用这个标识。 当服务器开始执行时,它在本地的协议栈软件中登记,指明它所提供的服务的标识。 当客户与远程服务器通信时,客户在提出请求时,通过这个标识来指定所希望的服务。 客户端机器的传输协议栈软件将该标识传给服务器端机器。 服务器端机器的传输协议栈则根据该标识来决定由哪个服务器程序来处理这个请求。 WSDL   Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。   怎样向别人介绍你的Web service有什么功能,以及每个函数调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的Web service的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Web service的时候,他们的工具(如Visual Studio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Web service。解决方法是:用机器能阅读的方式提供一个正

文档评论(0)

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

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

1亿VIP精品文档

相关文档