Java基础-UDP通信实现一发一收

发布于:2025-08-10 ⋅ 阅读:(28) ⋅ 点赞:(0)

目录

案例要求:

实现UDP通信  客户端和服务端一发一收

实现思路:

代码:

User类:用户端

Client类:服务端

总结:


案例要求:

实现UDP通信  客户端和服务端一发一收

实现思路:

创建两个DatagramSocket和DatagramPacket即可

代码:

User类:用户端

import java.net.*;

public class User {
    public static void main(String[] args) throws Exception {
        System.out.println("客户端启动了...");
        DatagramSocket socket = new DatagramSocket();
        byte[] bytes = "今晚有空吗,我请你吃烧烤,小龙虾,喝可乐".getBytes() ;
        DatagramPacket packet = new DatagramPacket(bytes, bytes.length,
                InetAddress.getLocalHost(), 8888);
        socket.send(packet);
    }
}

Client类:服务端

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Client {
    public static void main(String[] args) throws  Exception{
        DatagramSocket socket = new DatagramSocket(8888);
        System.out.println("服务端启动了....");
        byte[] bytes = new byte[1024*64];
        DatagramPacket packet=new DatagramPacket(bytes, bytes.length);
        socket.receive(packet);
        int len=packet.getLength();
        String data=new String(bytes,0,len);
        System.out.println("服务端收到了"+ data);
    }
}


总结:

本文展示了Java实现UDP通信的简单案例。客户端(User类)通过DatagramSocket发送消息"今晚有空吗..."到本地8888端口,服务端(Client类)监听该端口接收消息并打印。关键点:1)创建DatagramSocket和DatagramPacket对象;2)服务端需指定端口监听;3)使用send()和receive()方法实现数据收发。该案例演示了UDP协议下一发一收的基本通信流程。


网站公告

今日签到

点亮在社区的每一天
去签到