From 6f01e7836886fe2cd506576b49657eca91eb0349 Mon Sep 17 00:00:00 2001 From: weidong Date: Mon, 25 Aug 2025 11:31:58 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9ping=E5=BA=94?= =?UTF-8?q?=E7=AD=94=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sideslope/executor/D314PingMessageExecutor.java | 8 +++++--- .../java/com/imdroid/sideslope/server/OnlineChannels.java | 7 ------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java index 1ceeb4e8..13eabf10 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/executor/D314PingMessageExecutor.java @@ -1,6 +1,7 @@ package com.imdroid.sideslope.executor; import com.imdroid.sideslope.message.D314PingMessage; +import com.imdroid.sideslope.server.DeviceChannel; import com.imdroid.sideslope.server.OnlineChannels; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; @@ -17,12 +18,13 @@ public class D314PingMessageExecutor implements Executor public Void execute(D314PingMessage message) { String deviceId = message.getId(); byte[] forwardBytes = message.getSrcData(); - OnlineChannels.INSTANCE.get(deviceId).ifPresent(deviceChannel -> { - forwardBytes[12] = (byte) 1;//ping ack + DeviceChannel deviceChannel = OnlineChannels.INSTANCE.getConfigChannel(deviceId); + if(deviceChannel!=null){ + //forwardBytes[12] = (byte) 1;//ping ack ByteBuf buf = Unpooled.buffer(); buf.writeBytes(forwardBytes); deviceChannel.writeAndFlush(buf); - }); + } return null; } diff --git a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java index 95159c08..e776fbf5 100644 --- a/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java +++ b/sec-beidou-rtcm/src/main/java/com/imdroid/sideslope/server/OnlineChannels.java @@ -3,12 +3,9 @@ package com.imdroid.sideslope.server; import io.netty.channel.Channel; import java.net.InetSocketAddress; -import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; /** * @author Layton @@ -62,10 +59,6 @@ public class OnlineChannels { return Optional.ofNullable(dataChannels.get(deviceId)); } - public List ifPresent(List deviceIds) { - return deviceIds.stream().map(x -> dataChannels.get(x)).filter(Objects::nonNull).collect(Collectors.toList()); - } - public DeviceChannel getDataChannel(String deviceId){ return dataChannels.get(deviceId); }