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

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

相关推荐
vortex52 分钟前
渗透测试红队快速打点策略的思考
网络·安全·web安全
董世昌414 分钟前
HTTP 核心:GET 与 POST 深度解析(区别、原理与实战场景)
网络·网络协议·http
小熊哥^--^7 分钟前
基于TCP全双工特性,HTTP、SSE与WebSocket通信模式差异解析
websocket·网络协议·http
忘忧记11 分钟前
典型局域网组建方案简介
运维·网络·智能路由器
huangyuchi.13 分钟前
【Linux 网络】基于TCP的Socket编程:通过协议定制,实现网络计算器
linux·网络·tcp/ip·linux网络·协议定制·josncpp库·序列与反序列化
真正的醒悟24 分钟前
图解网络8
开发语言·网络·php
元亓亓亓1 小时前
考研408--计算机网络--day6--局域网&IEEE802&VLAN
网络·计算机网络·考研·vlan·局域网·ieee
dragoooon341 小时前
[Linux网络基础——Lesson11.「NAT & 代理服务 & 内网穿透」]
linux·网络·智能路由器
#微爱帮#1 小时前
微爱帮监狱寄信写信平台HTTPS隐私保护方案
网络协议·http·https·监狱寄信·监狱写信
自己的九又四分之三站台1 小时前
Sniffnet 是什么
网络