第11章 Java网络通信程序的设计
处理URL内容
使用Socket通信
使用UDP通信
处理URL内容
URL(Uniform Resource Locator)的关键部分,它提供了人和机器的导航,其功能是指向计算机里的资源,即定位。URL可以分成三个部分:通信协议、计算机地址和文件。URL常见的通信协议有三种:http,ftp和file。所谓通信协议,就是客户端计算机与服务器端计算机在网络上通信的方法。
有时候在地址后面还要指定使用哪一个端口(Port),例如/。如果URL没有指定使用哪一个端口,则会根据通信协议使用默认的端口。一般地,http协议默认端口为80,ftp协议默认端口为21。
包中包含两个专门用于URL的关键类,即URL和URLConnection。URL和URLConnection类封装了检索远程站点信息的操作,因而大大地降低了这些操作的复杂性。下面几节将介绍这两个类。
URL类的基本方法
URL类提供的最基本的网络功能是以流的形式读取URL所指的的数据。URL类的实例可以用表示URL的文本串来建立,以表示URL所指的数据。构造一个URL类实例的最简单方法是为URL构造方法赋予一个字符串:
URL url = new URL(http://java./);
这被称为“绝对”URL,因为赋予的字串指定了从协议到资源名的全部内容。另一种URL类的构造方法是构造一个“相对”URL:
URL data = new URL(url, "data/");
,它的绝对地址应该是http://java./data/。
这两种构造方法都可以指定一个URL,如果指定的URL是错误的,构造方法会抛出一个运行时错误:MalformedURLException,这个Excetion通知用户构造了一个形式错误的URL。
注:URL类既支持http协议,也支持ftp和file协议。如果URL文本有错或者Java平台不支持其协议部分,则这个构造函数抛出一个MalformedURLException,,指出给定的是不合法的URL。通常应通过try-catch块处理或声明让调用方法传递这个异常。
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,则表示使用默认端口。
● 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中通信协议的部分。
下面是一个使用URL类及其方法的例子。
import genesis.*;
import .*;
public class URLDemo
{
public static void main(String args[])
{
try
{
//
URL url = new URL("http://java./");
("Protocol: " + ());
("Host: " + ());
("Port: " + ());
("File: " +
第11章 Java网络通信程序的设计 来自淘豆网m.daumloan.com转载请标明出处.