JAVA网络编程.doc

上传人:cl****1 文档编号:544274283 上传时间:2022-12-13 格式:DOC 页数:23 大小:372.01KB
返回 下载 相关 举报
JAVA网络编程.doc_第1页
第1页 / 共23页
JAVA网络编程.doc_第2页
第2页 / 共23页
JAVA网络编程.doc_第3页
第3页 / 共23页
JAVA网络编程.doc_第4页
第4页 / 共23页
JAVA网络编程.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《JAVA网络编程.doc》由会员分享,可在线阅读,更多相关《JAVA网络编程.doc(23页珍藏版)》请在金锄头文库上搜索。

1、第十一章 JAVA网络编程11.1 Java的网络通信功能11.1.1 JAVA的网络支持JAVA作为“网络上的世界语”,具有独特的网络优势与网络功能。为了进行网络编程,JAVA提供了一个包,将该工具包与java中的输入/输出流相结合,就可以做到从网络上读取文件、数据或向网络写文件或数据时,可以象在本地磁盘上读写文件或数据一样容易和方便。Java提 供 了 大 量 的 类 以 满 足 网 络 化 、 多 线 程 、 面 向 对 象系统 的 需 要 。 1. 语 言 包 提 供 的 支 持 包 括 字 符 串 处 理 、 多 线 程 处 理 、例外 处 理 、 数 学 函数 处 理 等 ,可 以

2、 用 它 简 单 地 实 现 Java 程 序的 运 行 平 台 。 2. 实 用 程 序 包 提 供 的 支 持 包 括 哈 希 表 、 堆 栈 、 可 变 数组、 时 间 和 日 期 等。 3. 输 入 输 出 包 用 统 一 的 流 模 型 来 实 现 所 有 格式 的 I/O,包括 文 件 系 统 、 网 络、 输 入 /出 设 备 等 。 4. 低 级 网 络 包 用 于 实 现 URL、Socket、数据报等网络编 程方法 。 5. 抽 象 图 形 用 户 接 口 包 实 现 了 不 同 平 台 的 计 算 机 的 图形用 户 接 口 部 件 ,包括 窗 口 、 菜 单 、 滚 动

3、 条 、 对 话 框 等 ,使得 Java可 以 移 植 到 不 同平 台 的 机 器 。 6. 网 络 包 支 持 Internet的 TCP/IP协 议 ,提 供 了 与 Internet的 接 口。它 支 持 URL连 接,WWW的 即 时 访 问 ,并 且 简 化 了 用 户 /服 务 器 模型 的 程 序 设 计 。在JAVA网络编程过程中,大量地使用到输入输出流,即JAVA.IO包中的两个基本流:InputStream和OutputStream。InputStream继承了Object类,它有六个直属的子类,其中之一的FilterInputStream是一个抽象类,并有四个后代,如

4、图11-1所示。类似地,OutputStream继承了Object类,它有四个直属的子类,其中之一的FilterOutputStream是一个抽象类,并有三个子类,如图11-2所示。FileInputStreamPipeInputStreamFilterInputStreamByteArrayInputStreamSequenceInputStreamStringBufferInputStreamDataInputStreamBufferedInputStreamLineNumberInputStreamPushBackInputStreamInputStream图11-1 InputStre

5、am类的继承树PipeOutputStreamFilterOutputStreamByteArrayOutputStreamFileOutputStreamDataOutputStreamBufferedOutputStreamPrintStreamOutputStream图11-2 OutputStream类的继承树11.1.2 InetAddress类的使用在进行网络通信时,必须指定通信地址,在JAVA中由InetAddress类来完成该功能。类InetAddress可以用于标识网络上的硬件资源,它提供了一系列方法以描述、获取及使用网络资源。InetAddress类没有构造函数,因此不能用

6、new来构造一个InetAddress实例。通常是用它提供的静态方法来获取:public static InetAddress getByName(Stringhost) :host可以是一个机器名,也可以是一个形如“%d.%d.%d.%d”的IP地址或一个DSN域名。public static InetAddress getLocalHost() public static InetAddress getAllByName(Stringhost)这三个方法通常会产生UnknownHostException例外,应在程序中捕获处理。InetAddress类的主要方法包括:1 GetHostNa

7、me()返回该地址的主机名。如果主机名为null,那么当前地址指向当地机器的任一可得网络地址。返回值:类型为 string2 GetAddress()以网络地址顺序来返回IP地址返回值:存在byte型的字节数组中,其中,最高序字节位于标值为0的元素中。3 GetHostAddress()以“%d%d%d%d”的形式返回IP地址串。返回值:类型为 string4 HashCode()返回该InetAddress对象的散列码。返回值:类型为int5 Equals(Object obj)将当前对象与指定对象进行比较。返回值:true 相同 false 不相同6 ToString()将该InetAdd

8、ress对象以字符串的形式表示出来。返回值:类型为string的实体对象。7 GetByName(string host)这是一个synchronized的类方法,该方法用于返回指定主机的网络地址。如果主机名为null,则返回当地机器的默认地址。为了加速对地址的访问,使用了一个当地cashe.如果地址未知,则会发生unknowHostException例外。参数:host 指定的主机。返回值:类型为InetAddress8 GetAllByName(string host)返回指定主机名的所有InetAddress对象,这是一个synchrozed类方法,若无法决定主机名,则会发生unknow

9、HostException例外。参数:host 指定的主机。返回值:存放于InetAddress数组中。9 GetLocalHost()用于返回当地主机的InetAddress对象。如果无法决定主机名,则会发生unknowHostException例外。利用InetAddress类提供的方法,可以开发一些应用程序。例1:获取本机的IP地址import .*;public class getLocalHostTestpublic static void main(String arg)InetAddress myIP=null; try myIP=InetAddress.getLocalHost

10、(); catch(UnknownHostException e) System.out.println(myIP); 执行结果如下图所示:例2:java根据域名自动到DNS上查找IP地址import .*;public class getIP public static void main(String args) InetAddress swjtu=null; try swjtu=InetAddress.getByName(); catch(UnknownHostException e) System.out.println(swjtu); 执行结果如图所示:11.2 JAVA中的网络编程

11、方法JAVA中的网络编程可在三个层面上进行: URL层:这是最高级层面。可以利用URL直接进行Internet上的资源访问和数据传输。 Socket层:这是传统网络编程经常采用的方式。通过在应用程序间建立Socket套接字连接,然后在连接之上进行数据通信。Client/Server结构应用程序通常采用这种面向连接的模式。 Datagram数据流层:这是最低级层面。是无连接的通信方式。 为了实现上述的网络通信功能,JAVA提供了相应的类: .URL类和.URLConnection类使得编程者能很方便地利用URL在Internet上进行网络通信。 包的Socket类(客户端)和ServerSock

12、et类(服务器端)提供了用TCP/IP套接字来编写C/S应用程序的方法。 包的DatagramServer和DatagramPacket类用于实现UDP通信。 11.3 JAVA URL网络编程.URL类和.URLConnection类使得编程者能很方便地利用URL在Internet上进行网络通信。11.3.1 URL概念 URL(Uniform Resource Locator)是统一资源定位器的简称,是用来标识Internet上的资源的,通过URL可以访问Internet上相应的文件和其他资源。URL指明了取得资源采用的协议和资源地址。 URL格式:协议名:/资源名 协议名:指明获取资源所

13、用的传输协议,如:http、ftp、gopher、 new、mailto、file等。 资源名:是资源的完整地址,包括主机IP地址(或主机域名)、端口号、完整文件名、HTML文件中参考位置等。 下面是几个URL的例子: http:/ http:/:80/home/white_paper.html#intro_1 协议主机域名(IP地址) 端口号目录 文件名 HTML参考点 其中,传输协议:说明访问资源时使用的网络协议。 主机名称( host name ):资源所在的主机的名称(IP地址)。 文件名(file name) :资源在机器上的完整名字。这里的文件名并不是简单的名字,它要包括文件的完整

14、的路径名,这样我们才能直接通过文件名访问到一个文 件。 端口号( port number):连接时所使用的服务器端口号。省略时表示标准端口号,如http:80,telnet:23等 。 参考点( reference ):资源中的特定位置,用来标识一个文件中特定的偏移位置。通过参考点我们可以对一个文件中感兴趣的部分创建URL对象。11.3.2 URL类 URL类定义了一个WWW的统一资源定位器和可以对其进行的一些操作。由URL类生成的对象指向WWW资源(如WEB页、文本文件、图形图象文件、音频视频文件等等)。建立URL对象后就可使用通用的格式取得URL的各个部分的信息和获取URL内容。 一、URL构造方法 URL共有6个构造方法:(1) URL(String spec) 简单地用一个字符串生成URL对象,例如:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号