diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java index 61fa316..1a8e9d8 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java @@ -99,7 +99,7 @@ ByteBuf bizDataByteBuf = protocolFactory.getProtocolFieldConfigProvider().getDataContentBuf(intactMessageByte); //解密前的报文 log.debug("解析的密文是----------" + ByteBufUtil.hexDump(bizDataByteBuf)); -// ProtocolProcessEventListener.setTask(devcode, ByteBufUtil.hexDump(bizDataByteBuf), 1); + //ProtocolProcessEventListener.setTask(devcode, ByteBufUtil.hexDump(bizDataByteBuf), 1); //密文解析 ByteBuf clearZeroPlainBuf = datagramEventProvider.getSafeDatagram(bizDataByteBuf, protocolFactory.getProtocolFieldConfigProvider().getFixFieldConfigMap(), fieldLengthSupplier); log.debug("解析的明文是----------" + ByteBufUtil.hexDump(clearZeroPlainBuf)); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java index 61fa316..1a8e9d8 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/GenericProtocolParser.java @@ -99,7 +99,7 @@ ByteBuf bizDataByteBuf = protocolFactory.getProtocolFieldConfigProvider().getDataContentBuf(intactMessageByte); //解密前的报文 log.debug("解析的密文是----------" + ByteBufUtil.hexDump(bizDataByteBuf)); -// ProtocolProcessEventListener.setTask(devcode, ByteBufUtil.hexDump(bizDataByteBuf), 1); + //ProtocolProcessEventListener.setTask(devcode, ByteBufUtil.hexDump(bizDataByteBuf), 1); //密文解析 ByteBuf clearZeroPlainBuf = datagramEventProvider.getSafeDatagram(bizDataByteBuf, protocolFactory.getProtocolFieldConfigProvider().getFixFieldConfigMap(), fieldLengthSupplier); log.debug("解析的明文是----------" + ByteBufUtil.hexDump(clearZeroPlainBuf)); diff --git a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java index 390848c..bab0601 100644 --- a/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java +++ b/sensorhub-core/src/main/java/com/casic/missiles/parser/matcher/impl/FrameMarkMatcher.java @@ -60,7 +60,7 @@ //后续标志位结束 if (unpackFlag == 1) { //表示可以截取 - intactMessageByte = mergeMarkFrame(matchByteBuf, protocolFactory, datagramEventProvide,parseFixedDataMap); + intactMessageByte = mergeMarkFrame(matchByteBuf, protocolFactory, datagramEventProvide, parseFixedDataMap); return intactMessageByte; } else { storeHalfPackBuf(protocolFactory, matchByteBuf); @@ -94,8 +94,10 @@ .fixPosition(currentFrameFixedProperty.get(FIXED_POSITION)) .fixedStoreMap(parseFixedDataMap) .build()); - //TODO sortList 需要进行seq排序, - + //进行seq排序 + sortList = sortList.stream().sorted( + (e1, e2) -> ((Integer) e1.getFixedStoreMap().get(SEQ)).compareTo((Integer) e2.getFixedStoreMap().get(SEQ)) + ).collect(Collectors.toList()); //会存在多个帧拼接在一起的的情况,进行合并处理 for (MatchDataStore.ExpiringByteBuf expiringByteBuf : sortList) { ByteBuf currentByteBuf = expiringByteBuf.getByteBuf(); @@ -129,7 +131,6 @@ } - /** * 存储当前不需要直接进行的帧结构及相应的帧结构信息 *