diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F0SelfCheckMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F0SelfCheckMessageExecutor.java index c3c8b45a..2e67f762 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F0SelfCheckMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D3F0SelfCheckMessageExecutor.java @@ -37,8 +37,6 @@ public class D3F0SelfCheckMessageExecutor implements Executor get(String deviceId) { return Optional.ofNullable(dataChannels.get(deviceId)); } diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/udp/RtcmUdpHandler.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/udp/RtcmUdpHandler.java index 0360b3ea..998f47b2 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/udp/RtcmUdpHandler.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/udp/RtcmUdpHandler.java @@ -40,6 +40,10 @@ public class RtcmUdpHandler extends ChannelInboundHandlerAdapter { // 消息解析 BaseMessage message = MessageParser.instance.parse(packet.content()); OnlineChannels.INSTANCE.updateDataChannel(message.getId(), ctx.channel(), packet.sender()); + if(message.getHeader() == 0xd3f0){ + //如果控制消息从数据通道来,则删除其控制通道信息,确保服务器信令也从数据通道发 + OnlineChannels.INSTANCE.removeConfigChannel(message.getId()); + } BizExecutors.execute(message); } catch (UnSupportedMessageException e) { logger.warn("receive un supported message: {}", e.getMessage());