臭小子帅 2023-12-14 14:19 采纳率: 50%
浏览 4

UDP接收数据报文,如何获取里面的数据

UDP接收数据报文,数据帧格式如下图,怎么通过Java代码获取具体的值?
目前拿到了的数据格式byte[]

img

  • 写回答

1条回答 默认 最新

  • 桂圆肉肉 2023-12-14 14:23
    关注
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    
    public class UdpReceiver {
        public static void main(String[] args) throws Exception {
            // 创建DatagramSocket对象
            DatagramSocket socket = new DatagramSocket(9876); // 端口号可以根据需要进行更改
    
            // 创建DatagramPacket对象,用于接收数据
            byte[] buffer = new byte[1024];
            DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
    
            // 接收数据报文
            System.out.println("等待接收数据...");
            socket.receive(packet);
            System.out.println("收到数据报文: " + packet.getLength()); // 获取数据报文长度
            byte[] data = packet.getData(); // 获取数据部分
            System.out.println("数据部分: " + new String(data)); // 将数据部分转换为字符串并打印
    
            // 获取报头信息
            byte[] header = packet.getHeader(); // 获取报头部分
            System.out.println("报头部分: " + new String(header)); // 将报头部分转换为字符串并打印
    
            // 关闭socket连接
            socket.close();
        }
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月14日

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法