java程序设计教程 第10节.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
      10.1 概 述   网络通信的核心是协议。协议是指进程之间交换信息为完成任务所使用的一系列规则和规范。在Internet网络通信中,主要使用的协议有适用于网络层的IP协议,适用于传输层的TCP、UDP协议,适用于应用层的HTTP、FTP、SMTP、NNTP(主要用于解释数据内容)协议等。   网络通信的一个重要概念就是IP地址,为了指出想要连接的计算机,必须有一种方法能惟一地标识它,而IP地址所代表的就是Internet上的某台计算机,根据该IP地址就可以同这台计算机进行通信。一个IP地址由4个0~255之间的数字组成,数字之间用点号(.)分隔,例如36。IP地址不是随意指定的,有专门的国际机构负责其定义和分类。由数字所表示的IP地址难以记忆,这就需要有更为形象化和简洁的表示方法,因此,实际应用中,常常将它对应一个有意义的名称,即主机名(Internet中也称域名),例如“雅虎”的域名就对应了9这样的IP地址。网络中的DNS服务器负责自动将主机名转换为IP地址。   虽然通过IP地址或域名可以让用户找到Internet上某台确定的计算机,但仅有这点还不足以完成实际的通信。若这台计算机在应用层有多个程序在运行,那么发送到该计算机的数据包递交给哪个程序来处理呢?要解决该问题,需要借助于端口号。端口号(port number)存在于传输层,是16个比特所表示的一个数字,其范围在0~65535,1024以下的端口号由系统使用。这样,在数据包接收端的计算机,就可根据传输层所收到的数据包的端口号进行判断,并将该数据包递交给合适的应用层程序来处理,如图10-1所示。 图10-1 端口的作用   当采用Java语言进行网络编程时,程序主要处理的是应用层的任务,但需要根据传输层所选择的协议而选用不同网络API以完成实际的网络通信任务。这些基本网络类主要包含在J包中。例如,Java中的套接字(Socket)编程就是网络通信协议的一种应用。Java将TCP/IP协议封装到J包的Socket和ServerSocket类中,它们可以通过TCP/IP协议建立网络上的两台计算机(程序)之间的可靠连接,并进行双向通信。   Java网络通信可以在三个层次上进行:   (1)??URL层次,即最高级层次,基于应用层通信协议,利用URL直接进行Internet上的资源访问和数据传输。   (2) ?Socket层次,即传统网络编程经常采用的流式套接字方式,通过在Client/Server(客户机/服务器)结构的应用程序之间建立Socket套接字连接,然后在连接之上进行数据通信。   (3) ?Datagram数据包层次,即最低级层次,采用一种无连接的数据包套接字传输方法,是用户数据报(UDP)协议的通信方式。    10.2 使用URL访问网络资源   URL(Uniform Resource Locator,统一资源定位器)表示网络上某一资源的地址。该资源可以是一个简单的文件或者一个目录,也可以是一个复杂的对象(如对数据库的查询或一个搜索引擎)。因此,只要按URL规则定义某个资源,那么网络上的其他程序就可以通过URL来访问它。使用URL进行网络编程,不需要对协议本身有太多的了解,功能也比较弱,相对而言是比较简单的。   URL由协议名称和资源名称两部分组成。资源名称应该是资源的完整地址,包括主机名、端口号、文件名或文件内部的一个引用,格式如下:   协议名://主机名:端口号/文件名#引用 其中,协议名(protocol)指明获取资源所使用的传输协议,如HTTP、FTP、FILE等;主机名指定信息资源所在计算机的IP地址或域名,如;端口号用来区分不同的网络服务,如果没有端口号,则表示端口号为该协议的默认值;文件名指明文件在计算机上的具体位置,包括该文件的完整路径,在HTTP协议中默认的文件名是index.html,因此,http://J就等同于http://J/index .html;引用为资源内的某个引用,用来定位显示文件内容的位置,如http://J/index.html#chapter1。但并非所有的URL都包含这些元素。对于多数的协议,主机名和文件名是必需的,但端口号和文件内部的引用则是可选的。 10.2.1 URL类   1.创建URL   为了使用URL进行通信,J中实现了URL类。我们可以通过下面的构造方法来初始化一个URL对象:   (1) ?public URL(String spec)。这种方法最简单也最常用,其中spec表示一个完整的可在浏览器看到的URL地址。例如:   URL u=new URL(http:///);   (2) ?public URL(String protocol, String h

文档评论(0)

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

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

1亿VIP精品文档

相关文档