‘liusuyi’
2023-11-01 606d7388589829e6a7108a48898d4e4126312d73
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初始化配置
     */
@@ -82,7 +82,7 @@
                                }
                            });
                        }
                        Thread.sleep(3000);
                        Thread.sleep(10000);
                    } catch (Exception e) {
                        log.error("Netty初始化配置监听地址出现异常");
                        e.printStackTrace();
@@ -104,18 +104,20 @@
        // 异步连接tcp服务端
        bootstrap.remoteAddress(host, port).connect().addListener((ChannelFuture futureListener) -> {
            if (!futureListener.isSuccess()) {
                log.error(host + ":" + port + "雷达TCP服务端连接失败");
                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 + "雷达TCP服务端连接成功");
                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.info("TCP客户端尝试连接:" + host + ":" + port);
            log.debug("TCP客户端尝试连接:" + host + ":" + port);
            connectServer(ardEquipRadar);//连接每一个雷达服务
        }
    }