当前位置: 首页 > 后端技术 > Java

netty自定义解码器

时间:2023-04-01 22:18:25 Java

undefined*代码如下:*/protectedvoiddecode(ChannelHandlerContextctx,ByteBufbuffer,Listout)throwsException{intbeginReader=0;while(buffer.isReadable()){beginReader=buffer.readerIndex();buffer.markReaderIndex();buffer.resetReaderIndex();buffer.readByte();if(beginReader>=0){if(((buffer.getByte(0)==ConstantValue.START_DATA))){if(beginReader>=1){if(!((buffer.getByte(1)==ConstantValue.START_DATA))){//如果第二位不是40,丢掉buffer.discardReadBytes();继续;}}}else{buffer.discardReadBytes();继续;}}if(beginReader>2){if(!((buffer.getByte(beginReader)==ConstantValue.END_DATA)&&(buffer.getByte(beginReader-1)==ConstantValue.END_DATA))){继续;}else{intlength=buffer.readerIndex();字节[]数据=新字节[长度];for(inti=0;i