import java.net.DatagramPacket;import java.net.DatagramSocket;public class UDPTestServer {    public static void main(String[] args) {        DatagramSocket datagramSocket = null;        try{            datagramSocket= new DatagramSocket(8888);            //创建数据缓冲区            byte[] bytes = new byte[1024];            //创建数据报包对象            DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length);            //等待接收客户端发送的数据            datagramSocket.receive(datagramPacket);            String str=new String(datagramPacket.getData(),0,datagramPacket.getLength());            System.out.println(str);        }catch (Exception e){            e.printStackTrace();        }finally {            if(datagramSocket!=null){                datagramSocket.close();            }        }    }}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.nio.charset.StandardCharsets;
public class UDPSocketClient {
    public static void main(String[] args) {
        DatagramSocket datagramSocket = null;
        try{
            //消息需要进行转换,转换成字节数据类型
            byte[] bytes="我爱学习".getBytes(StandardCharsets.UTF_8);
            //创建数据报包包装对象 DatagramPacket
            DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length,new InetSocketAddress("127.0.0.1",9999));
            //创建数据发送对象 DatagramSocket,需要指定消息的发送端口
            datagramSocket = new DatagramSocket(8888);
            //发送消息
            datagramSocket.send(datagramPacket);
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if(datagramSocket!=null){
                datagramSocket.close();
            }
        }
    }
}