基于URL的高层次Java网络编程
关键词: 网络通信;
网络编程的基本概念及TCP/IP协议简介
基于URL的高层次Java网络编程
统一资源定位器URL
URL的组成
protocol://resourceName
协议名(protocol)指明获取资源所使用的传输协议,如http、ftp、gopher、file等,资源名(resourceName)则应该是资源的完整地址,包括域名、端口号、文件名或文件内部的一个引用。
创建一个URL对象
public URL (String spec),通过一个表示URL地址的字符串构造一个URL对象。
public URL(URL context, String spec);通过基URL和相对URL构造一个URL对象
public URL(String protocol, String host, String file)
public URL(String protocol, String host, int port, String file)
从URL读取WWW网络资源
当得到一个URL对象后,就可以通过它的方法openStream()读取指定的WWW资源。这个方法与URL代表的服务资源建立连接并返回InputStream类的对象,进而读取数据。
第一步:创建URL对象
URL url =new URL (“http://www.chd.edu.cn/“);
第二步:由URL对象获取URLConnection对象
URLConnection con=url.openConnection();
第三步:对输入输出流进行装配,并调用过滤流类(DataInputStream、PrintSteam)的方法进行通信
DataInputStream dis=new DataInputStream (con.getInputStream());
PrintStream ps=new PrintStream(con.getOutputStream());
con.setDoOutput(true); //可以向服务器端写相应的信息
String line=dis.readLine(); //从服务器读入一行
ps.println(“client…”); //向服务器写出字符串 “client…”
基于Socket套接字的低层次Java网络编程
Socket通讯
网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。
Socket编程是低层次网络编程,但这并不等于它功能不强大,恰恰相反,正因为层次低,Socket编程比基于URL的网络编程提供了更强大的功能和更灵活的控制,但却更复杂一些。