总第1Java网络通信程序的设计 第11章Java网络通信程序的设计 11.1处理URL内容 112使用 Socket通信 113使用UDP通信 dBac
第11章 Java网络通信程序的设计 第11章 Java网络通信程序的设计 11.1 处理URL内容 11.2 使用Socket通信 11.3 使用UDP通信
总第1Java网络通信程序的设计 l11处理URL内容 URL( Uniform resource locator)是 Internet的关键部 分,它提供了人和机器的导航,其功能是指向计算机 里的资源,即定位。URL可以分成三个部分:通信协 议、计算机地址和文件。URL常见的通信协议有三种: htt,ftp和file。所谓通信协议,就是客户端计算机与 服务器端计算机在网络上通信的方法
第11章 Java网络通信程序的设计 11.1 处理URL内容 URL(Uniform Resource Locator)是Internet的关键部 分,它提供了人和机器的导航,其功能是指向计算机 里的资源,即定位。URL可以分成三个部分:通信协 议、计算机地址和文件。URL常见的通信协议有三种: http,ftp和file。所谓通信协议,就是客户端计算机与 服务器端计算机在网络上通信的方法
总第1Java网络通信程序的设计 有时候在地址后面还要指定使用哪一个端口(Pot), 例如htt// VwW.sun. com:80/ ndex. html。如果URL没有 指定使用哪一个端口,则会根据通信协议使用默认的 端口。一般地,htt协议默认端口为80,fp协议默认端 口为21。 Java.net包中包含两个专门用于URL的关键类,即 URL和 URLConnection。URL和 URLConnection类封装 了检索远程站点信息的操作,因而大大地降低了这些 操作的复杂性。下面几节将介绍这两个类
第11章 Java网络通信程序的设计 有时候在地址后面还要指定使用哪一个端口(Port), 例如http://www.sun.com:80/index.html。如果URL没有 指定使用哪一个端口,则会根据通信协议使用默认的 端口。一般地,http协议默认端口为80,ftp协议默认端 口为21。 java.net包中包含两个专门用于URL的关键类,即 URL和URLConnection。URL和URLConnection类封装 了检索远程站点信息的操作,因而大大地降低了这些 操作的复杂性。下面几节将介绍这两个类
总第1Java网络通信程序的设计 111.1URL类的基本方法 URL类提供的最基本的网络功能是以流的形式读 取URL所指的的数据。URL类的实例可以用表示URL 的文本串来建立,以表示URL所指的数据。构造一个 URL类实例的最简单方法是为URL构造方法赋予一个 字符串 Urlurl=newUrlohTtp:/java.sun.com/index.htmi) 这被称为“绝对”URL,因为赋予的字串指定了 从协议到资源名的全部内容。另一种URL类的构造方 法是构造一个“相对”URL: URL data- new Url(url, " data/data. html")
第11章 Java网络通信程序的设计 11.1.1 URL类的基本方法 URL类提供的最基本的网络功能是以流的形式读 取URL所指的的数据。URL类的实例可以用表示URL 的文本串来建立,以表示URL所指的数据。构造一个 URL类实例的最简单方法是为URL构造方法赋予一个 字符串: URL url = new URL(http://java.sun.com/index.html); 这被称为“绝对”URL,因为赋予的字串指定了 从协议到资源名的全部内容。另一种URL类的构造方 法是构造一个“相对”URL: URL data = new URL(url, "data/data.html");
总第1Java网络通信程序的设计 这种构造方法指定了位于url的data子目录中的 data html文件,它的绝对地址应该是 http:/java.sun.com/data/data.html 这两种构造方法都可以指定一个URL,如果指定 的URL是错误的,构造方法会抛出一个运行时错误 MalformedURLException,这个 Excetion通知用户构造 了一个形式错误的URL
第11章 Java网络通信程序的设计 这种构造方法指定了位于url的data子目录中的 data.html文件,它的绝对地址应该是 http://java.sun.com/data/data.html。 这两种构造方法都可以指定一个URL,如果指定 的URL是错误的,构造方法会抛出一个运行时错误: MalformedURLException,这个Excetion通知用户构造 了一个形式错误的URL
总第1Java网络通信程序的设计 注:URL类既支持htp协议,也支持tp和fie协议 如果URL文本有错或者Java平台不支持其协议部分, 则这个构造函数抛出一个 MalformedURLException,该 Exception是 Java. io IOException的子类,指出给定的是 不合法的URL。通常应通过try- catch块处理或声明让调 用方法传递这个异常
第11章 Java网络通信程序的设计 注:URL类既支持http协议,也支持ftp和file协议。 如果URL文本有错或者Java平台不支持其协议部分, 则这个构造函数抛出一个MalformedURLException,该 Exception是java.io.IOException的子类,指出给定的是 不合法的URL。通常应通过try-catch块处理或声明让调 用方法传递这个异常
总第1Java网络通信程序的设计 URL类常用的构造函数有下列三种: O URL(String spec) throws MalformedURLException 创建一个由spec指定的UR类的实例。 URL(String spec, String host, int port, String file throws malformedURLException 创建一个URL类的实例,分别指定其通信协议 ( protocal)、计算机地址(host)、连接端口(port和文件 (fle)。如果port值是-1,则表示使用默认端口
第11章 Java网络通信程序的设计 URL类常用的构造函数有下列三种: ● URL(String spec) throws MalformedURLException 创建一个由spec指定的URL类的实例。 ● URL(String spec, String host, int port, String file) throws MalformedURLException 创建一个URL类的实例,分别指定其通信协议 (protocal)、计算机地址(host)、连接端口(port)和文件 (file)。如果port值是-1,则表示使用默认端口
8第1aa网络通信程序的设 o URL(String protocal, String host, String file) throws MalformedURLException功能同上,但没有指定端口, 即使用默认的端口。 URL类的一些主要方法如下: ● public String getFile(:返回URL中的文件部分 public string gethosto):返回URL中的计算机地址部分 public int getPort():返回URL中所使用的端口。 ● public string getProtocal():返回URL中通信协议的部分
第11章 Java网络通信程序的设计 ● URL(String protocal, String host, String file) throws MalformedURLException功能同上,但没有指定端口, 即使用默认的端口。 URL类的一些主要方法如下: ● public String getFile():返回URL中的文件部分。 ● public String getHost():返回URL中的计算机地址部分。 ● public int getPort():返回URL中所使用的端口。 ● public String getProtocal():返回URL中通信协议的部分
总第1Java网络通信程序的设计 下面是一个使用URL类及其方法的例子。 例111 URLDemo」java Import genesis import java. net. public class urLDemo public static void main( String args)
第11章 Java网络通信程序的设计 下面是一个使用URL类及其方法的例子。 例11.1 URLDemo.java import genesis.*; import java.net.*; public class URLDemo { public static void main(String args[]) { try {
A第1章Jaa网络通信程序的设计 ∥创建一个指向Javasun.com首页的URL类的实例 URL url= new UrloHttp: java. sun. com/index. htmi") Transcript. printIn("Protocol: getProtocolo) Transcript println("Host: url getHostO) Transcript println("Port: url getPorto) Transcript println(" File: + url.getFileo) catch(MalformedURLException e) Transcript. println("错误的URL!")
第11章 Java网络通信程序的设计 // 创建一个指向java.sun.com首页的URL类的实例 URL url = new URL("http://java.sun.com/index.html"); Transcript.println("Protocol: " + url.getProtocol()); Transcript.println("Host: " + url.getHost()); Transcript.println("Port: " + url.getPort()); Transcript.println("File: " + url.getFile()); } catch(MalformedURLException e) { Transcript.println("错误的URL!");