‘liusuyi’
2023-12-04 6474b923d8f6d8ea5e5b63277f18335136c7e33c
src/main/java/com/ard/utils/tcp/ClientInitialize.java
@@ -49,7 +49,7 @@
    private Bootstrap bootstrap;
    public static CopyOnWriteArraySet<ArdEquipRadar> falseConnectSet = new CopyOnWriteArraySet();
    public static ConcurrentHashMap<ChannelId, ArdEquipRadar> tureConnectMap = new ConcurrentHashMap();
    public static ConcurrentHashMap<String, Object> SuccessConnectMap = new ConcurrentHashMap();
    /**
     * Netty初始化配置
     */
@@ -104,18 +104,20 @@
        // 异步连接tcp服务端
        bootstrap.remoteAddress(host, port).connect().addListener((ChannelFuture futureListener) -> {
            if (!futureListener.isSuccess()) {
                log.error("雷达【" + host + ":" + port + "】连接失败");
                log.debug("雷达【" + host + ":" + port + "】连接失败");
                futureListener.channel().close();
                // 连接失败信息插入Set
                falseConnectSet.add(ardEquipRadar);
                // 连接失败信息从map移除
                tureConnectMap.remove(futureListener.channel().id());
                SuccessConnectMap.remove(ardEquipRadar.getId());
            } else {
                log.info("雷达【" + host + ":" + port + "】连接成功");
                log.debug("雷达【" + host + ":" + port + "】连接成功");
                // 连接成功信息从Set拔除
                falseConnectSet.remove(ardEquipRadar);
                // 连接成功信息写入map
                tureConnectMap.put(futureListener.channel().id(), ardEquipRadar);
                SuccessConnectMap.put(ardEquipRadar.getId(),futureListener.channel());
            }
        });
    }
@@ -124,7 +126,7 @@
     * 初始化方法
     */
    @Override
    public void run(ApplicationArguments args) throws Exception {
    public void run(ApplicationArguments args) {
        if (!tcpClientEnable) {
            return;
        }
@@ -133,7 +135,7 @@
        for (ArdEquipRadar ardEquipRadar : ardEquipRadars) {
            String host = ardEquipRadar.getIp();
            Integer port = Integer.valueOf(ardEquipRadar.getPort());
            log.debug("TCP客户端尝试连接:" + host + ":" + port);
            log.debug("TCP client try to connect radar【:" + host + ":" + port+"】");
            connectServer(ardEquipRadar);//连接每一个雷达服务
        }
    }