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进制字节啊 。。
你要显示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 协议的主要内容,如果未能解决你的问题,请参考以下文章