- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java程序的设计 第09章 网络编程技术
第9章 集合类与泛型程序设计 Java语言提供了丰富的网络编程类库,因此它非常适合用于网络编程,强大快捷的网络编程功能正是Java备受欢迎的主要原因之一。 Java的网络功能由几个不同的包实现,基本的网络功能定义在包中。其中的接口和类可以大致分为三部分:URL、URLConnection和Socket。本章将讨论如何使用这些类和接口进行网络编程,实现网络资源的访问和网络通信。 9.1 网络编程基础知识 TCP/IP采用层次化体系结构,从上至下分为四层:应用层、传输层、网络层和数据链路层,每一层都实现特定的网络功能。 1)应用层 2)传输层 3)网络层 4)数据链路层 这四层结构中比较常见的协议有如下几种: 1)IP协议 2)TCP协议 3)UDP协议 4)HTTP 5)FTP 6)SMTP 7)POP3 8)IMAP IP地址 连接到Internet中的每台计算机都有唯一的地址,这就是IP地址。一个IP地址由域名、端口号和服务类型组成。 套接字(Socket) 套接字(socket)是网络上运行的两个不同主机的进程间进行双向通信的端点,用于建立两个不同应用程序之间通过网络进行通信的信道。一般来说,位于不同主机的应用进程之间要在网络环境下进行通信,必须要在网络的每一端都要建立一个套接字。两个套接字之间可以是有连接的,也可以是无连接的,并通过套接字的读、写操作实现网络通信功能。 套接字由IP地址与端口组成。它既可以接收请求,也可以发送请求,因此利用它可以较为方便地编写网络上数据传输的程序。 根据传输的数据类型不同,套接字可以分为面向连接的数据流套接字(Stream Socket)和无连接的数据报套接字(Datagram Socket)两种类型。其中,TCP套接字是面向连接的套接字的代表,UDP套接字是无连接的数据报套接字的代表。 9.2 IP地址及URL类 J.InetAddress类是Java的IP地址的封装类,用于实现对IP地址的各种操作。它不需要用户了解如何实现对IP地址操作的细节。 Internet用URL表示各种网络数据资源的地址。通过URL用户可以访问Internet上的各种网络资源。为了处理方便,Java将URL封装为URL类。 9.2.1 InetAddress类 Java提供了InetAddress类,用于实现主机名和IP地址之间的转换。InetAddress类描述了32位或64位的IP地址,并通过它的两个子类Inet4Address 和 Inet6Address来实现。 InetAddress类的定义如下: public final class InetAddress extends object implements Serializable{…} 其中:String类型的hostName和int类型的address,即主机名和IP地址。由于它们是私有成员,因此不能直接访问它们。 由于InetAddress类没有构造方法,所以也不能直接创建InetAddress对象。要创建该类的实例对象,可以通过该类的静态方法获得该对象。找不到本地机器的地址时,这些方法通常会抛出UnknownHostException异常,所以应该在程序中进行异常处理。 .InetAddress类的主要方法 1)public static InetAddress getLocalHost() 该方法返回一个InetAddress对象,这个对象包含了本地机的IP地址。当查找不到本地机的地址时,将会抛出一个UnknownHostException异常。 2)public static InetAddress getByName (String host) 该方法返回一个由host指定的InetAddress对象,参数host可以是一个主机名,也可以是一个IP地址或者一个DNS域名。如果找不到指定的主机的IP地址,那么该方法将抛出一个UnknownHostException异常。 3)public static InetAddress getByAddress(byte [] addr) 根据给定的IP字节地址创建一个InetAddress对象的引用。如果addr是IPv4地址,则返回一个Inet4Address对象。如果addr是IPv6地址,则返回一个Inet6Address对象。如果返回的既不是4字节的也不是16字节的,那么方法将会抛出一个UnknownHostException异常。 获得一个InetAddress对象后,就可以使用InetAddress类的getA
您可能关注的文档
- DK19+242.03框架桥高压旋喷桩试桩的方案.doc
- DK3+350预应力混凝土梁中桥施工的方案.doc
- DKC室内型电池柜用空调器产品是针对机柜应用的环境而开发的一款.doc
- DM广告信息发布实施的的策划的方案.doc
- DO NOT CITE Seattle Police Officers' Guild不要引用西雅图警察协会.doc
- Discovery Projects Funding Outcomes 2011 Listing by FoR Codes的的结果发现的项目的资金的2011的代码清单.doc
- Design of a Composite Wing with Leading Edge Discontinuity一个领先的边缘不连续的复合材料机翼的设计.ppt
- docguarder技术的方案.doc
- DOP联合装置的项目可行性的研究的报告.doc
- Double splitting PS Cern双分裂聚苯乙烯欧洲核子的研究中心.ppt
文档评论(0)