JAVA中的网络编程

JAVA中的网络编程

JAVA中的网络编程

Internet是计算机最重要的应用领域之一,许多与它有关的新技术不断出现,而Java首当其中,Java在网络方面的重要性已是无可争议的了。介绍4个总要的类URL、Socket、InetAddress和DatagramSocket,讲述它们在网络中的重要作用。

Internet上的每台计算机必须被唯一地表示出来,因此网络标准化的第一个部分就是IP地址,“IP”代表Internet Protocol。IP地址用于标识连接到Internet的计算机的数字地址,IP地址是由32位二进制数组成的,如202.199.28.6。 没有IP地址就不能区分连在Internet上不同的计算机。Internet上的主机有两种方式表示地址:“域名”和“IP”,如域名”www.tsinghua.edu.cn”和IP”202.108.35.210” 是一个主机的两种表示法。域名容易记忆,网站空间,在连接网络时输入一个主机的域名后,域名服务器(DNS)负责将域名转化成IP地址,这样我们才能和主机建立连接。

如果IP地址唯一标识了Internet上的计算机,则URL标识了计算机上的资源。更具体地说,URL(Uniform Resource Location,统一资源定位器)充当一个指针,指向Web上的网页、二进制文件以及其他信息对象。当读者手工输入“如 ”的网址时,实际上就提供了该站点主要的URL。

一个URL通常包含一些重要的信息,如“ ” 包含了如下信息:

客户端-服务器体系结构的基本含义就是,客户端需要某些类型的信息,而服务器提供客户端所需要的信息。客户端需要连接到服务器上,并向服务器请求信息,服务器则向客户端发送信息,两者按照协议协同工作,各得其所。

URL类

java.net包中的URL类是对URL的抽象,是用URL创建对象的应用程序称为客户端程序,一个URL对象存放着一个具体的资源的引用,虚拟主机,表明客户要访问这个URL中的资源,利用URL对象可以获取URL中的资源。一个URL对象通常包含最基本的三部分信息:协议、地址、资源。协议必须是URL对象所在的Java虚拟机支持的协议,许多协议并不为我们所常用,而常用的HTTP、FTP、FILE协议都是Java虚拟机支持的协议。地址必须是能连接的有效IP地址或域名。资源可以是主机上的任何文件。

URL的构造方法如下:

public URL(String spec) throws MalformedURLException 使用字符串初始化一个URL对象。例如

try{ url=new Url(“”); }catch(MalformedURLException e){ System.out.println(“Bad URL:”+url); }该URL对象使用的协议时HTTP,即用户按照这种协议与指定的服务器通信,该URL对象包含的地址是“yahoocom.cn”,所包含的资源是默认的资源(主页)。

public URL(String protocol,String host,String file) throws MalformedURLException 构造的URL对象的协议、地址和资源分别由参数protocal、host和file指定。读取URL中的资源

URL对象调用

InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源信息读入到客户端。

显示URL资源中的HTML文件

在上面,将的主页的内容显示在文本区中,但是我们想看到网页的运行效果,则javax.swing包中JEditorPane类可以解释执行HTML文件。也就是说,如果把HTML文件读入到JEditorPane中,该HTML文件就会解释执行,显示在JEditorPane中,这样程序就看到了网页的运行效果。

JEditorPane类的构造方法如下:

public JEditorPane()

public JEditorPane(URL initialPage) throws IOException

public JEditorPane(String url) throws IOException

这三个方法都可以构造JEditorPane对象。后两个方法使用参数initialPage或url指定该对象最初显示的URL中的资源。JEditorPane对象调用

public void setPage(URL page) throws IOException方法可以显示新的URL中的资源。

处理超链接

当JEditorPane对象调用setEditable()方法就编辑属性设为false时,不仅可以显示网页的运行效果,而且用户如果单击网页中的链接,还可以使得JEditorPane对象触发HyperlinkEvent事件。程序可以通过处理HyperlinkEvent事件来显示新的URL资源。

JEditorPane对象调用

addHyperlinkListener(HyperlinkListener listener) 方法获得监视器。监视器需要实现HyperlinkListener接口,该接口中的方法如下:

void hyperlinkUpdate(HyperlinkEvent e)

InetAddress类

java.net包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址。

获取Internet上主机的地址

可以使用InetAddress类的静态方法getByName(String s)将一个域名或IP地址传递给该方法的参数s,获得一个InetAddress对象。该对象含有主机地址的域名和IP地址,该对象用如下格式标示它所包含的信息。

另外,InetAddress类中包含两个实例方法:

1 public String getHostName() 获取InetAddress对象所包含的域名。

2 publc String getHostAddress() 获取InetAddress对象所包含的IP地址。

获取本地机的地址

可以使用InetAddress类的静态方法getLacalHost() 获得一个InetAddress对象,该对象含有本地机的域名和IP地址。

套接字Socket

IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序)。端口号与IP地址的组合得出一个网络套接字(Socket)。端口号被规定为一个16位的整数0~65535。其中,0~1023被预先定义的服务通信占用(如telnet占用端口23,http占用端口80等)。除非我们需要访问这些特定服务,否则就应该使用1024~65535这些中的某一个进行通信,以免发生端口冲突。当两个程序需要通信时,网站空间,它们可以通过使用Socket类建立套接字对象并连接在一起。比如,有人让你去“中山广场邮局”,你可能反问“我去做什么”,因为他没有告知你“端口”,你不知处理何种业务。他说“中山广场邮局,8号窗口”,那么你到达地址“中山广场邮局”,找到“8号”窗口,就知道8号窗口处理特快专递业务,而且必须有个先决条件,就是你到达“中山广场邮局8号窗口”时,就应该必须有一位业务员在等待客户,否则就无法建立通信业务。

套接字连接

所谓套接字连接,就是客户端的套接字对象和服务器端的套接字对象通过输入输出流连接在一起,现在我们分3个步骤来说明套接字连接的基本方式。

不论你在什么时候结束,重要的是结束之后就不要悔恨

JAVA中的网络编程

相关文章:

你感兴趣的文章:

标签云: