发送端

package InterUDPdemo;
/*
    - 创建发送端的Socket对象(DatagramSocket)
    - 创建数据,并把数据打包
    - 调用DatagramSocket对象的方法发送数据
    - 关闭发送端
 */
import java.io.IOException;
import java.net.*;

public class SendDemo {
    public static void main(String[] args) throws IOException {
        //- 创建发送端的Socket对象(DatagramSocket)
        DatagramSocket ds = new DatagramSocket();
        //创建数据,使用getBytes方法将字符串变成字节
        byte[] bytes = "hello.gkkhhkk".getBytes();
        //创建DatagramPacket数据包对象,构造一个数据包,发送长度为 length的数据包到指定主机上的指定端口号。
        DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length, InetAddress.getByName("192.168.1.210"),10086);
        //调用DatagramSocket对象的send方法发送数据
        ds.send(datagramPacket);
        //关闭发送端
        ds.close();
    }
}

接收端

package InterUDPdemo;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

/*
    - - 创建接收端的Socket对象(DatagramSocket)
      - 创建一个数据包,用于接收数据
      - 调用DatagramSocket对象的方法接收数据
      - 解析数据包,并把数据在控制台显示
      - 关闭接收端
-
 */
public class ReceiveDemo {
    public static void main(String[] args) throws IOException {
        //创建接收端的Socket对象(DatagramSocket)
        DatagramSocket dp = new DatagramSocket(10086);
        //死循环,保持接受端可以一直接受数据
        while (true) {
            // 创建一个字节数组,用于存放解析的数据
            byte[] bytes = new byte[1024];
            //创建 DatagramPacket数据包对象
            DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
            //调用DatagramSocket对象的方法接收数据
            dp.receive(datagramPacket);
            //创建字符串对象通过getdata方法getLength方法解析到字符串中,打印输出
            System.out.println("数据是:" + new String(datagramPacket.getData(), 0, datagramPacket.getLength()));
        }
    }
}