UDP发送和接受数据

发送数据

java 复制代码
public class sendmessage {
    public static void main (String[] args) throws IOException {
        DatagramSocket ds=new DatagramSocket();

        //打包数据开始
        String s="hello world";
        byte[] b=s.getBytes();
        //获取InetAddress的对象
        InetAddress address=InetAddress.getByName("127.0.0.1");
        //端口号
        int port=10086;
        //打包数据结束

        DatagramPacket dp=new DatagramPacket(b,b.length,address,port);

        //发送数据
        ds.send(dp);
        //释放数据
        ds.close();
    }
}

接受数据

java 复制代码
public class receivemessage {
    public static void main (String[] args) throws IOException {
        //接受的时候一定要绑定端口
        //绑定的端口一定要和发送的端口保持一致
        DatagramSocket ds=new DatagramSocket(10086);

        //接受数据包
        byte[] b=new byte[1024];
        DatagramPacket dp=new DatagramPacket(b,b.length);
        ds.receive(dp);

        //解析数据包
        //获取数据
        byte[] result=dp.getData();
        int len=dp.getLength();
        //获取发送方的地址
        InetAddress address=dp.getAddress();
        //获取发送方的发送端口
        int port=dp.getPort();

        System.out.println(new String(result,0,len));
        System.out.println("发送方的地址"+address+"发送方的发送端口"+port);

        ds.close();
    }
}
要先运行接收端再运行发送端,否则无法收到数据

初学者,见解不足,如有错误请指出

相关推荐
2401_8724187813 分钟前
计算机网络——应用层详解:DNS、电子邮件、FTP 与 HTTP 的原理及通信过程
网络协议·计算机网络·http
迪丽热爱21 分钟前
多媒体应用49-931(计算机网络基础)
网络·计算机网络
为思念酝酿的痛1 小时前
Reactor反应堆模式
linux·服务器·网络
kyle~2 小时前
Windows 多 AP 同名 Wi-Fi 网络异常问题复盘
网络·windows
迪康coolmu2 小时前
基于迪康端点安全一体化管理系统的公用终端上机与信创补丁实战
linux·运维·服务器·网络·安全·电脑
发量惊人的中年网工2 小时前
多分支网络怎样集中运维?SD-WAN监控、报障与服务范围指南
运维·网络
91刘仁德2 小时前
计算机网络核心协议全解析:从MAC帧到HTTP
linux·网络·网络协议·tcp/ip·计算机网络·http·udp
Orchestrator_me2 小时前
k8s网络与应用
网络·python·kubernetes
软件工程师文艺2 小时前
PLM系统的下一个十年:从MBD模型定义到产线仿真的技术路线拆解
运维·服务器·网络
Yiran_G2 小时前
LoRa数据帧设计与工程实现:地址、长度、校验及版本兼容
网络·嵌入式硬件·物联网