// tag正常
short tag = in.getShort();
if (tag == 1 || tag == 2) {
logger.info("请求标识符:" + tag);
} else {
logger.error("未知的解码类型....");
return MessageDecoderResult.NOT_OK;
}
// 真实数据长度
int len = in.getInt();
int remainLen = in.remaining();
logger.info("dataLength:{}, remainLength:{}", len, remainLen);
if (remainLen < len) {
return MessageDecoderResult.NEED_DATA;
}
return MessageDecoderResult.OK;
}
public MessageDecoderResult decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
logger.info("解码:" + in.toString());
CharsetDecoder decoder = charset.newDecoder();
BaseMessage message = null;
short tag = in.getShort(); // tag
int len = in.getInt(); // length
logger.info("解码数据长度:" + len);