lis成t18.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第18章 网 络 本章讨论支持网络应用的包。它的创建者称Java为“为网络编程”。尽管它只占Java的一小部分,与C++或FORTRAN相比,这种编程语言更有利于编写网络程序。使Java成为好的网络语言的正是包定义的类。 这些类包装了由加州大学的伯克利分校的BSD引入的“套接字(socket)”范型。如果不简单介绍UNIX和BSD套接字的历史对Internet网络库的讨论就是不完整的。 18.1 网 络 基 础 1969年,Ken Thompson和Dennis Ritchie在Murray Hill,New Jersey的贝尔电话实验室开发了与C语言一致的UNIX。很多年来,UNIX的发展停留在贝尔实验室和一些大学及研究机构,用特意设计的DEC PDP机器运行。到了1978 年,Bill Joy在Cal Berkeley领导了一个项目,给UNIX增添新的特性,例如虚拟内存和全屏显示功能。到了1984年早期,当Bill正准备建立Sun Microsystems,它发明了4.2BSD,即众所周知的Berkeley UNIX。 4.2BSD带有快速文件系统、可靠信号处理、进程间通信以及最重要的网络功能。最先在4.2中发现的网络支持后来成为了实际的Internet标准。Berkeley的TCP/IP实现保留了在Internet内通信的最初的标准。进程间和网络通信的套接字范型被Berkeley以外的系统广泛采用。甚至Window和Macintosh在20世纪80年代晚期也开始和“Berkeley 套接字”谈话。 18.1.1 套接字概述 网络套接字(network socket)有一点像电源插座。网络周围的各式插头有一个标准方法传输它们的有效负载。理解标准协议的任何东西都能够插入套接字并进行通信。对于电源插座,不论你插入一个电灯或是烤箱,只要它们使用60HZ,115伏电压,设备将会工作。思考一下你的用电账单是怎样生成的。在你的房子和电网支架间可能有1米的距离,经过这一米的每千瓦电都将列入账单。账单到达你的“地址”。所以,虽然电流在电源插座周围是自由流动的,你房子的所有插头都是有特定的地址的。 除了我们谈论的是TCP/IP包和IP地址而不是电器和街道地址外,同样的思想被应用到网络套接字。Internet Protocol(IP)是一种低级路由协议。该协议将数据分解成小包然后通过网络传到一个地址,它并不确保传输的信息包一定到达目的。传输控制协议(TCP)是一种较高级的协议,它把这些信息包有力的捆绑在一起,在必要的时候,排序和重传这些信息包以获得可靠的数据传输。第三种协议,用户数据报协议(UDP)几乎与TCP协议相当,并能够直接用来支持快速的、无连接的、不可靠的信息包传输。 18.1.2 客户/服务器模式 你经常在与网络有关的话题中听说客户/服务器(client/server)这个术语。在一些产品说明中,这个概念似乎非常复杂,其实它的含义很简单。 服务器(server)就是能够提供共享资源的任何东西。现在有计算服务器,提供计算功能;打印服务器,管理多个打印机;磁盘服务器,提供联网的磁盘空间;以及Web服务器,用来存储网页。客户(client)是简单的任何有权访问特定服务器的实体。客户和服务器之间的连接就像电灯和电源插头的连接。房间的电源插座是服务器,电灯是客户。服务器是永久的资源,在访问过服务器之后,客户可以自由的“拔去插头”。 在Berkeley套接字中,套接字的概念允许单个计算机同时服务于很多不同的客户,并能够提供不同类型信息的服务。该种技术由引入的端口(port)处理,此端口是一个特定机器上的被编号的套接字。服务器进程是在“监听”端口直到客户连到它。尽管每个客户部分是独特的,一个服务器允许在同样端口接受多个客户。为管理多个客户连接,服务器进程必须是多线程的,或者有同步输入/输出处理多路复用技术的其他方法。 18.1.3 保留套接字 一旦连接成功,一个高级的协议跟着生效,该协议与所使用的端口有关。TCP/IP 为特定协议保留了低端的1024 个端口。如果你在网络上冲浪有一些时间了,那么这中间的很多你已经很熟悉了。端口21是为FTP的,23是Telnet,25是为e-mail,79是为finger的,80是HTTP,119是为网络新闻的——等等。下面该轮到讲述每个协议决定客户如何与端口交互了。 举例来说,HTTP是网络浏览器及服务器用来传输超文本网页和图像的协议。它是基本网页浏览服务器的一个非常简单的协议。下面是它的工作原理。当一个客户向一个HTTP服务器请求一个文件时,即一个点击动作,它仅仅以一种特定格式向预先指定的端口打印文件名然后读回文件的内容。服务器同样对状态代码编号反应,告诉客户请求是否被执行以及原因。下面是一个例子

文档评论(0)

xiaoxue8 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档