tcp协议 netty 解析

panmingguang 发布于 2016/09/02 10:26
阅读 557
收藏 1

遇到个tcp协议解析的问题, 协议格式,

标识位

消息头

消息体

校验码

标识位

标识采用0x23表示,  这个0x23怎么用java代码表示, 协议解析用的 netty

0x23 用java 标识 是 char a ='0x23' 这样么, 那用 netty 如果来判断这个标识, 截取第一个字节长度 来判断么

加载中
0
SimonAt
SimonAt
byte flag = 0x23;
0
oschina_net
oschina_net
byte flag = (byte)(0x23 & 0xFF)
0
panmingguang
panmingguang

引用来自“Simon_1988”的评论

byte flag = 0x23;
用netty 写的话, 直接 in.readBytes(0x23) 这样的么
0
aiCooper
aiCooper
啦啦啦啦李经理
aiCooper
aiCooper
啦啦啦啦
0
oschina_net
oschina_net
晕,肯定是把收到的包依次放到buffer里,然后根据协议依次解析了
0
panmingguang
panmingguang

引用来自“oschina_net”的评论

byte flag = (byte)(0x23 & 0xFF)

协议基本上解析已经可以了, 不过遇到一个问题, 设备端发过来的byte 格式都是小端格式, netty4的话提供了 

order(LITTLE_ENDIAN); 这个方法, 但是读写 都要 调用一遍, 没有全局的配置么

返回顶部
顶部