提交 2afce831 编写于 作者: 如梦技术's avatar 如梦技术 🐛

优化解码 PacketNeededLength 计算

上级 e0a64546
......@@ -84,10 +84,12 @@ public final class MqttDecoder {
} catch (Exception cause) {
return MqttMessageFactory.newInvalidMessage(cause);
}
// 3. 判断消息长度
int packetNeededLength = bytesRemainingInVariablePart + MQTT_PROTOCOL_LENGTH - readableLength;
if (packetNeededLength > 0) {
ctx.setPacketNeededLength(packetNeededLength);
// 3. 判断消息长度,消息长度
int messageLength = bytesRemainingInVariablePart + MQTT_PROTOCOL_LENGTH;
// 还需要的长度
int stillNeededLength = messageLength - readableLength;
if (stillNeededLength > 0) {
ctx.setPacketNeededLength(messageLength);
return null;
}
// 4. 解析头信息
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册