Java语言程序设计 郭磊 第09章 Java网络编程新.ppt
文本预览下载声明
第九章 Java网络编程 教授:郭磊 【本章导读】 Java是伴随着网络发展成长起来的语言,Java与网络有密切的关系。在Java中有许多与网络通信有关的类和接口,利用它们可以方便地实现网上资源的定位与获取,以及实现计算机之间的通信和文件传输等。本章介绍Java中常用的与网络通信有关的类和接口,并用实例说明这些类和接口是如何实现通信的。 【本章要点】 URL Socket通信 9.1 URL URL(Uniform Resource Locator)是统一资源定位器的简称,它表示Internet上某一资源的地址。通过URL我们可以访问Internet上的各种资源。URL的一般格式是: 协议名://主机名:端口号/资源文件名 协议名指明了获取资源所采用的传输协议,如HTTP、FTP,主机名指明了资源所在的计算机,端口号是指服务器相应的端口,如果采用默认的端口,则端口可以省略,资源文件名是指该资源文件在服务器上的路径。 9.1.1 URL类 1、创建URL对象 为了表示URL,中实现了类URL。可以通过下面的构造方法来初始化一个URL对象: (1)public URL(String spec); 通过一个表示URL地址的字符串可以构造一个URL对象。 URL urlBase = new URL(“/index.htnl”); (2)public URL(URL content,String spec); 通过基URL和相对URL构造URL对象。 URL net163 = new URL(“/”); URL index163 = new URL(net163,“index.html”); (3)public URL(String protocol,String host,String file); (4)public URL(String protocol,String host,int port,String file); 2、URL类的常用成员方法 创建URL对象后,就可以使用.URL类的方法对创建的对象进行处理。URL的常用的成员方法如下: public String getFile() //获取该URL的文件名 public String getHost() //获取该URL的主机名 public int getPort() //获取该URL的端口号 public String getProtocol() //获取该URL的协议名 public String getQuery() //获取该URL的查询信息 public String getUserInfo() //获取该URL的用户信息 public InputStream openStream() //打开该URL的输入流 public booleam sameFile(URL other) //判断两个URL是否指向同一个文件 9.1.2 读取URL中的资源 【例9-1】从URL中读取服务器文件内容 import java.io.BufferedReader; import java.io.InputStreamReader; import .URL; public class URLReader{ public static void main(String[] args) throws Exception{ URL myURL = new URL(/index.html); //构建一个URL对象 BufferedReader in = new BufferedReader(new InputStreamReader(myURL.openStream())); //使用openStream()打开一个输入流并由此构造一个BufferedReader对象 String inputLine; while((inputLine = in.readLine())!=null){ //从输入流不断读数据,直到读完为止 System.out.println(inputLine); //把读入的数据打印到屏幕上 } in.close();//关闭输入流 } } 9.2 Socket通信 Socket称为套接字,是指两台计算机上运行的两个程序之间的双向通信的连接点,这个双向链路上的每一端称为一个Socket。Java采用的Socket通信是一种流式套接字通信,它采用TCP协议,提供一种面向连接的可靠数据传输方式,实现客户机和服务器之间的双向通信。 9.2.1 Socket的通信机制 Socket所要完成的通
显示全部