java socket 处理字节问题 16进制发过去 UDP 协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java socket 处理字节问题 16进制发过去 UDP 协议相关的知识,希望对你有一定的参考价值。

packet = new DatagramPacket(new byte[1024], 1024); //数据包
udpSocket.receive(packet);
byte[] message = packet.getData(); 这样拿到应该是2进制吧
然后我要根据 数据的需求 分割 有short 有double 有int 等
现在我用一个 Bytebuffer 封装了 每个字段对应的byte数组。
然后够 butebuffer.getDouble() 等 分别求出 为什么不对?
二进制数组 转换为 short , double ,int 等 该如何转啊。
那个朋友 我从UDP 拿过来的时候 应该只能是2进制啊 byte 啊
..你们都没看清楚我问题啊 我现在UDP 接受的 只能是2进制字节啊 。。

byte是有符号的整型,范围是-128~127
你要显示0~255可以用short 用int 用long啊
为什么一定要用byte呢?

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
参考技术A = 0xEF; 追加分数问题补充:做一下更改 发现了问题所在 byte[]里只能显示byte是有符号的整型,范围是-128~127 你要显示0~255可以用short 用int 用

用socket发送接收数据,但每次接收的数据字节长度都大于发送的25个字节?

参考技术A 这个不应该,A发送多少数据,B正常收到的数据不应该超过A发的大小,建议贴代码,

以上是关于java socket 处理字节问题 16进制发过去 UDP 协议的主要内容,如果未能解决你的问题,请参考以下文章

最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类

怎么将4字节16进制转化成浮点数

硬件通信Java Socket怎么发送和接收16进制数据

Java 将字节转化为16进制字符串

JAVA里16进制和字节数组互转

java中使用socket编程 发送16进制数据,应该如何实现??