Pu Zhibing
22 小时以前 185b6c7f14d8324540f39913e2b92146636cc5e0
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java
@@ -6,7 +6,10 @@
import com.ruoyi.dataInterchange.util.jtt809.packet.common.OuterPacket;
import io.netty.channel.ChannelHandlerContext;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
@@ -17,6 +20,12 @@
@Component
public class UPLinkTestReqService {
   
   @Resource
   private RedisTemplate redisTemplate;
   @Resource
   private DOWNConnectRspService downConnectRspService;
   
   /**
    * 主链路连接保持
@@ -25,11 +34,19 @@
    * @param out
    */
   public void linkTest(ChannelHandlerContext ctx, OuterPacket out) {
      if (!redisTemplate.hasKey("login:" + out.getGnsscenterId())) {
         log.error("链路还未登录校验,拒绝连接:{}", out.getGnsscenterId());
         ctx.close();
         return;
      }
      int gnsscenterId = out.getGnsscenterId();
      //保存链路
      ChannelMap.addServerChannel(gnsscenterId, ctx.channel());
      OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), null);
      OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), gnsscenterId, null);
      rep.setGnsscenterId(gnsscenterId);
      log.info("主链路连接保持应答({}):{}", DataType.UP_LINKTEST_RSP.getCode(), JSON.toJSONString(rep));
      ctx.writeAndFlush(rep);
      ctx.flush();
      //从链路保持请求
      downConnectRspService.downLinkTest(gnsscenterId);
   }
}