URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL建立对象的应用程序称做客户端程序。
一个URL对象一般包含最基本的三部分信息:协议、地址、资源。java
public URL(String spec) throws MalformedURLException public URL(String protocol, String host,String file) throws MalformedURLException
服务器
读取URL中的资源:URL对象调用InputStream openStream()
InetAdress类多线程
地址的表示:域名和IP地址
获取Internet上主机的地址:
1.能够使用InetAddress类的静态方法getByName(String s);
2.得到一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用以下格式表示它包含的信息:
www.sina.com.cn/202.108.37.40
获取本地机的地址
能够使用InetAddress类的静态方法getLocalHost()得到一个InetAddress对象,该对象含有本地机的域名和IP地址。socket
与mysocket相关的方法
getInputStream()得到一个输入流
getOutputStream()得到一个输出流
用getInputStream()获得的输入流接到另外一个DataInputStream数据流上
用getOutputStream()获得的输出流接到另外一个DataOutputStream数据流上学习
ServerSocket对象与服务器端套接字:
1.创建ServerSocket对象:url
try{ ServerSocket serverForClient =new ServerSocket(2010); } catch(IOException e){}
2.使用方法accept()将客户的套接字和服务器端的套接字链接起来.net
```try{ Socket sc= serverForClient .accept(); }
catch(IOException e){}```
3.所谓“接收”客户的套接字链接就是accept()方法会返回一个和客户端Socket对象相链接的Socket对象。线程
为了防止堵塞线程,服务器端收到一个客户的套接字后,就应该启动一个专门为该客户服务的线程。
UDP数据报设计
1将数据打包,称为数据包(比如将信件装入信封同样),而后将数据包发往目的地。
2.接受别人发来的数据包(比如接收信封同样),而后查看数据包中的内容。code
1.用DatagramPacket的如下两个构造方法建立待发送的数据包:
DatagramPacket(byte data[],int length,InetAddtress address,int port) DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
2.用DatagramSocket类的不带参数的构造方法:DatagramSocket()建立一个对象,该对象负责发送数据包。例如:
DatagramSocket mail_out=new DatagramSocket(); mail_out.send(data_pack);
1.用DatagramSocket的另外一个构造方法DatagramSocket(int port) 建立一个对象,其中的参数必须和待接收的数据包的端口号相同。
2.对象mail_in使用方法receive(DatagramPacket pack)接受数据包。
3.用DatagramPack类的另一个构造方法: DatagramPack(byte data[],int length)建立一个数据包,用于接收数据包
广播数据报