教材学习总结
(1)URL类
一个URL对象通常包含最基本的三部分信息:协议、地址和资源;
URL类的构造方法:
try{
URL url = new URL("http://www.goole.com");
}
catch(MalformedURLException e){
System.out.println("Bad URL:"+url);
}
另一个构造方法为:
public URL(String protocol,String host,String file) throws MalformedURLException
//protocol代表协议,host代表地址,file代表资源
URL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源,该输入流可以将服务器上的资源信息读入到客户端。
(2)InetAddress类
域名:如 www.tsinghua.edu.cn
IP地址:如 202.108.35.210,java.net包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址,例如 www.sina.com.cn/202.108.37.40 。
可以使用InetAddress类的静态方法 getByName(String s) 获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用如下格式表示它包含的信息。可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机的域名和IP地址。
套接字
IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序)。端口号被规定为一个16位的0~65535之间的整数。 当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号与IP地址的组合得出一个网络套接字)。
客户端的程序使用Socket类建立负责连接到服务器的套接字对象。getInputStream()获得一个输入流 ;getOutputStream()获得一个输出流 ;用getInputStream()得到的输入流接到另一个DataInputStream数据流上;用getOutputStream()得到的输出流接到另一个DataOutputStream数据流上 。
客户端的程序使用Socket类建立负责连接到服务器的套接字对象。
建立连接到服务器的套接字对象:
try{ Socket mysocket=new Socket(“http://192.168.0.78”,1880);
}
catch(IOException e)
{ }
服务器必须建立一个ServerSocket对象,该对象通过将客户端的套接字对象和服务器端的一个套接字对象连接起来,从而达到连接的目的。
建立ServerSocket对象:
try{ ServerSocket serverForClient =new ServerSocket(2010);
}
catch(IOException e){}
使用方法accept()将客户的套接字和服务器端的套接字连接起来,代码如下所示:
try{ Socket sc= serverForClient .accept();
}
catch(IOException e){}
所谓“接收”客户的套接字连接就是accept()方法会返回一个和客户端Socket对象相连接的Socket对象。