问题描述
byteversion=1;shortmstype=3001;shortsn=001;Stringstrs="127.0.0.1";ByteBufbuf=builderPacketHead(64,false,false,version,mstype,sn,strs);//这是封装好的方法PS:为什么byteBuf输出的值是“741-711110127001”现在我想重新从bytebuf中获取到sn和strs的值。应该怎么写?求大神
解决方案
解决方案二:
求大神指点呐,自己顶顶
解决方案三:
求大神,求解惑
解决方案四:
一个short类型占据两个字节长度
解决方案五:
引用3楼lxraiyl的回复:
一个short类型占据两个字节长度
那我怎么获取bytebuf里面的数据呢?下面是封装接收到数据包的方法,我要从这个方法里拿到SN和STRS的信息。请问改怎么写?多谢publicstaticByteBufbuilderPacketHead(intsendFlag,booleanencryption,booleancondense,byteversion,shortmessType,shortseriaNumber,Stringip){PackageBuilderbuilder=newPackageBuilder();//本类ByteBufbuf=Unpooled.buffer(packetLength);//bytebuf的长度=10buf.writeByte(builder.addFlag(64,true,true));//封装信息标志位buf.writeByte(version);//添加版本号信息buf.writeBytes(builder.addShort(messType));//添加消息类型buf.writeBytes(builder.addShort(seriaNumber));//添加流水号buf.writeBytes(builder.addIP(ip));//添加IPreturnbuf;}