发送端
public static void main(String[] args)throws IOException {
//创建发送端
DatagramSocket datagramSocket = new DatagramSocket();
//创建数据包,封装数据
byte[] bytes="你好,UDP".getBytes();
//接收端IP地址对象
InetAddress ip = InetAddress.getByName("127.0.0.1");
DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length, ip, 999);
//调用发动端口的send方法,发送数据包
datagramSocket.send(datagramPacket);
//关闭资源
datagramSocket.close();
}
接收端
public static void main(String[] args)throws IOException {
//创建接收端,绑定端口号
DatagramSocket datagramSocket = new DatagramSocket(999);
//创建一个字节数组用来接收数据 缓冲区
byte[] bytes=new byte[1024*64]; //最多不能超过64K
//创建接收数据包的对象
DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
//调用接收端口的receive方法,接收数据包
datagramSocket.receive(datagramPacket);
//拆包
InetAddress address = datagramPacket.getAddress();//发送端的地址
byte[] data = datagramPacket.getData();//数据
int length=datagramPacket.getLength() ;//数据长度
System.out.println(address+":"+new String(data,0,length));
//关闭资源
datagramSocket.close();
}