- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 互联网应用和网络编程 3.1 介绍 互联网提供的是一个一般性的通讯机制,基于互联网的各种服务都是由连接在互联网上的计算机中应用程序提供的。 3.2 两个基本互联网通讯范例 两个基本互联网通讯范例:流范例和消息范例。 3.2.1 互联网中的流传输 “流”表示了一个通讯范例,即,一序列字节重一个应用程序流向另一个应用程序。 一般,流是双向的,如,浏览器发出网页请求,服务员程序返回网页。 互联网只是接受来自一个应用程序的输入,并将该数据送到另一个应用程序。 3.2.1 互联网中的流传输(2) 流机制传输一序列字节,不包含字节的意义和字节间的界限。 特别是,发送方应用程序可以一次发一个字节,或一次发一组字节。 网络随时选择发送的字节数,可以将小的数据块组合成大的,也可将大的数据块分成小的。 所以,互联网不保证发送的数据块和接收到的数据块一样大。 3.2.2 互联网中的消息传输 互联网另一个传输机制是消息传输,网络以“消息”为单位收发。 网络从不将一个消息拆分,也不将消息组合在一起。接收方收到的消息和发送方发送的一样。 消息发送可以点对点传输、组播和广播发送,即,1-1、1-多、或多-1通讯。 消息服务不保证消息提供的顺序,或者确保消息的到达。 3.2.2 互联网中的消息传输(2) 消息服务允许消息: 丢失(即,从没提供) 重复(即,不止一个拷贝到达) 乱序 选择消息范例的编程者一定要确保,即使消息丢失或乱序,应用程序也能正确操作。 由于大多数的应用程序要求可靠的信息提供,所以,一般程序员选择流服务。 但是,像视频、需要组播的程序,就要用消息服务,这样,应用程序就要处理数据包的乱序和丢失的问题。 3.3 面向连接的通讯 互联网的流服务是面向连接的,意思是,(就像打电话) 通讯前,两个应用程序要求建立连接 一旦连接建立了,才允许应用程序间发送/接收数据 最后,当完成通讯时,要求应用程序断开连接。 3.4 网络互动中的客户-服务员模式(CS模式) 两台独立的计算机上的两个应用程序,如何相互协调以保证——它们同时需要一个连接? 这就是称为“客户-服务员模式”的一种互动方式。其中: 服务员程序:首先启动,等待连接 客户端程序:后启动,发起连接。 3.4 网络互动中的客户-服务员模式(CS模式)(2) 3.5 “服务员程序”和“客户端程序”的特点 客户端程序的特点: 当需要远程访问时,任何程序都可以临时变成客户端程序,但,仍可以进行其他计算 客户端程序是由用户直接启动,并只执行一个会话 客户端程序是在用户的个人电脑上就地运行 主动地启动与服务员程序的连接 根据需要能够访问多个服务,但是,一般地,一次只与一个远程服务员程序联系 不需要特别高性能的计算机硬件 服务员程序的特点: 服务员程序是一个特定目的的、特权程序,只用于提供一个服务,但,该服务同时能够处理多个远程客户端程序 当系统启动时,服务员程序是自动启动的,继续通过多个会话来执行 在一个大型、高性能的计算机上运行 被动地等待来自远程任意客户端程序的连接 虽然接受任意客户端程序的连接,但是,只提供单一服务 要求高性能的硬件,和成熟的操作系统 3.6 服务员程序和服务员级的计算机(服务器) 3.7 请求、响应和数据流向 建立了连接之后,客户端程序要先发出请求,然后,服务员程序给予响应。 所以,客户端程序和服务员程序之间,数据的流向可以是单向的,也可以是双向的。 3.8 多客户端程序和多服务员程序 客户端程序和服务员程序都是由应用程序构成的。一台计算机可以同时运行多个应用程序。结果,一台计算机可以运行: 一个客户端程序 一个服务员程序 客户端程序的多个拷贝,均连接一台给定的服务员程序 多个客户端程序,每个连接不同的特定服务员程序 多个服务员程序,每个只提供一个特定的服务 3.8 多客户端程序和多服务员程序(2) 因为服务可以同时访问,所以,一台计算机可以同时运行多个客户端程序; 因为计算机的硬件可以共享,所以,一台计算机可以同时操作多个服务员程序。即,如果服务的负荷不高,可以将几个服务员程序合并到一台计算机中,从而,降低费用而性能无明显降低。 3.9 服务员程序的识别和解复用(Demultiplexing) 客户端程序如何识别服务员程序?互联网协议(IP)将服务员程序的身份识别分成两部分: 运行服务员程序的计算机的识别 在该计算机上,一个特定服务员程序的识别 识别一台计算机:32位的互联网协议地址(IP Address) 识别一个服务:16位的协议端口号(protocol port number) 例如:email——25;web——80; 3.9 服务员程序的识别和解复用(Demultiplexing)(2) 3.10 并发的服务员程序 所谓并发,就是一个服务员程序使用不止一个控件线程,
文档评论(0)