From 1c490ff27a0eeb4327923a9367f3a7c2aaa929b2 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 28 十二月 2023 14:03:11 +0800 Subject: [PATCH] 优化雷达tcp客户端 --- src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java b/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java index 6006f7c..da103a6 100644 --- a/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java +++ b/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java @@ -23,6 +23,8 @@ IArdEquipRadarService ardEquipRadarService; @Resource NettyTcpConfiguration nettyTcpConfig; + + static Integer waitTimes = 1; static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); /** @@ -33,17 +35,21 @@ group = eventLoopGroup; } Bootstrap bootstrap = new Bootstrap(); - bootstrap.group(group).channel(NioSocketChannel.class).option(ChannelOption.TCP_NODELAY, true) - .option(ChannelOption.SO_KEEPALIVE, true).handler(new BootNettyChannelInitializer<SocketChannel>()); + bootstrap.group(group).channel(NioSocketChannel.class) + .option(ChannelOption.TCP_NODELAY, true) + .option(ChannelOption.SO_KEEPALIVE, true) + .handler(new BootNettyChannelInitializer()); return bootstrap; } - - public void connect( String host,int port) throws Exception { + + public void connect(ArdEquipRadar radar) throws Exception { + String host = radar.getIp(); + int port=radar.getPort(); log.debug("姝e湪杩涜杩炴帴锛氥��" + host+":"+port+"銆�"); eventLoopGroup.shutdownGracefully(); eventLoopGroup = new NioEventLoopGroup(); Bootstrap bootstrap = getBootstrap(null); - + try { bootstrap.remoteAddress(host, port); // 寮傛杩炴帴tcp鏈嶅姟绔� @@ -57,13 +63,14 @@ bootNettyClientChannel.setChannel(channel); bootNettyClientChannel.setCode("clientId:" + id); BootNettyClientChannelCache.save("clientId:" + id, bootNettyClientChannel); + BootNettyClientChannelCache.save(host+":"+port,radar); log.debug("netty client start success=" + id); } else { // System.err.println("杩炴帴澶辫触锛�" + waitTimes.toString() + "绉掑悗閲嶆柊杩炴帴:" + host); try { Thread.sleep(waitTimes * 1000); } finally { - connect(host,port); + connect(radar); } } }); @@ -73,7 +80,7 @@ try { Thread.sleep(waitTimes * 1000); } finally { - connect(host,port); + connect(radar); } e.printStackTrace(); } finally { @@ -82,7 +89,7 @@ */ eventLoopGroup.shutdownGracefully().sync(); } - + } /** * 鍒濆鍖栨柟娉� @@ -97,7 +104,7 @@ String host = ardEquipRadar.getIp(); Integer port = Integer.valueOf(ardEquipRadar.getPort()); log.debug("TCP client try to connect radar銆愶細" + host + ":" + port+"銆�"); - BootNettyClientThread thread = new BootNettyClientThread(host,port); + BootNettyClientThread thread = new BootNettyClientThread(ardEquipRadar); thread.start(); } } -- Gitblit v1.9.3