1. import java.net.DatagramPacket;
    2. import java.net.DatagramSocket;
    3. public class UDPTestServer {
    4. public static void main(String[] args) {
    5. DatagramSocket datagramSocket = null;
    6. try{
    7. datagramSocket= new DatagramSocket(8888);
    8. //创建数据缓冲区
    9. byte[] bytes = new byte[1024];
    10. //创建数据报包对象
    11. DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length);
    12. //等待接收客户端发送的数据
    13. datagramSocket.receive(datagramPacket);
    14. String str=new String(datagramPacket.getData(),0,datagramPacket.getLength());
    15. System.out.println(str);
    16. }catch (Exception e){
    17. e.printStackTrace();
    18. }finally {
    19. if(datagramSocket!=null){
    20. datagramSocket.close();
    21. }
    22. }
    23. }
    24. }
    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();
                }
            }
        }
    }