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();
    }
}
要先运行接收端再运行发送端,否则无法收到数据

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

相关推荐
Johny_Zhao2 小时前
基于 Docker 的 LLaMA-Factory 全流程部署指南
linux·网络·网络安全·信息安全·kubernetes·云计算·containerd·yum源·系统运维·llama-factory
岚天start5 小时前
Linux系统网络排查工具总结
linux·运维·网络·监控·扫描·连通性·流量
王燕龙(大卫)6 小时前
tcp会无限次重传吗
网络·tcp/ip
weisian1516 小时前
HTTP协议-3-HTTP/2是如何维持长连接的?
网络·网络协议·http
三年呀8 小时前
标题:移动端安全加固:发散创新,筑牢安全防线引言:随着移动互联网
网络·python·安全
x.Jessica8 小时前
网络的构成元素
网络·学习·计算机网络
tan77º9 小时前
【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
linux·网络·分布式·网络协议·tcp/ip·rpc·json
前端世界12 小时前
在鸿蒙里优雅地处理网络错误:从 Demo 到实战案例
网络·华为·harmonyos
墨雨听阁12 小时前
8.18网络编程——基于UDP的TFTP文件传输客户端
网络·网络协议·学习·udp
小晶晶京京12 小时前
day35-负载均衡
运维·网络·网络协议·学习·负载均衡