一、概念
UDP是User Datagram Protocol的缩写,java提供了DatagramSocket对象作为基于UDP协议的Socket,使用DatagramPacket代表DatagramSocket发送、接收的数据报。
二、使用DatagramSocket发送、接收数据
1、DatagramSocket构造器
- DatagramSocket():创建一个DatagramSocket实例。
- DatagramSocket(int port):创建一个DatagramSocket实例,并指定端口。
- DatagramSocket(int port, InetAddress laddr):创建一个DatagramSocket实例,并将对象绑定到指定ip地址和端口。
2、DatagramPacket构造器
- DatagramPacket(byte[] buf, int length):以一个空数组来创建DatagramPacket对象,该对象的作用是接收DatagramSocket中的数据。
- DatagramPacket(byte[] buf, int length, InetAddress addr, int port):以一个包含数据的数组来创建DatagramPacket对象,创建对象时指定了IP地址和端口–这就决定了该数据报的目的地。
- DatagramPacket(byte[] buf, int offset,int length):以一个空数组来创建DatagramPacket对象,并指定接收到的数据放入到buf数组中从offset开始,最多放length个字节。
- DatagramPacket(byte[] buf, int offset,int length,InetAddress addr, int port):创建一个用于发送的DatagramPacket对象,指定发送buf从offset开始,总共length个字节。
3、发送接收数据
receive(DatagramPacket p):从该DatagramSocket接收数据报。
send(DatagramPacket p):以该DatagramSocket对象向外发送数据报。