教学内容总结:
URL类是java.net包中一个重要的类,使用URL创建的对象的应用程序称为客户端程序。
一个URL对象通常包含最基本的三部分信息:协议、地址和资源。URL对象调用InputStream open()方法可以返回一个输入流,该输入流指向URL对象所包含的资源,通过该输入流可以将服务器上的资源信息读入客户端。
InetAddress类用于获取地址,调用getByName(String s)将一个域名或IP地址传递给该方法的参数s,获得含有地址的域名和IP地址对象;调用getLocalHost()获得含有本地机器的域名和IP地址的对象。
当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起。
客户端套接字Socket(String host,int port),使用getInputStream()和getOutputStream()获得输入流和输出流,服务器要建立一个ServerSocket对象:ServerSocket(int port),该对象通过将客户端的套接字对象和服务器端的一个套接字对象连接起来,从而达到连接的目的,在服务器ServerSocket对象建立后,用accept()进行连接,使用getInputStream()和getOutputStream()获得输入流和输出流。accept方法会阻塞线程的执行。
UDP数据报:
基于UDP通信的基本模式:
1.将数据打包,称为数据包,然后将数据包发往目的地。
2.接收发来的 数据包,然后查看数据包中的内容。
用DatagramPacket类将数据打包,用DatagramPacket类创建一个对象,称为数据包。
构造方法:DatagramPacket(byte data[],int length,InetAddress address,int port)
用DatagramSocket类的不带参数的构造方法DatagramPacket()创建一个对象,该对象负责发送数据包。
用DatagramSocket类的另一个构造方法DatagramSocket(int port)创建一个对象,其中的参数必须和待接收的数据包的端口号相同。然后用DatagramSocket类的对象使用方法receive(DatagramPacket pack)接收数据包,必须准备一个数据包以便收取数据包。