From facc0ea3fa37091a98aa1e0a0d1081fd32fba28e Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期六, 27 一月 2024 11:38:29 +0800 Subject: [PATCH] 优化协议 --- src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java b/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java index 044b901..972ccf6 100644 --- a/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java +++ b/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java @@ -30,7 +30,7 @@ private String host; private int port; - public Channel defaultChannel; + public static Channel defaultChannel; public ClientEngine(String host, int port) { @@ -46,6 +46,7 @@ @Override public void run() { try { + startClient(); } catch (Exception e) { e.printStackTrace(); @@ -53,6 +54,10 @@ } public void startClient() throws Exception { + if(defaultChannel != null){ + log.info("-----IP={},杩炴帴瀛樺湪锛岀洿鎺ヤ娇鐢�",host); + return; + } EventLoopGroup group = new OioEventLoopGroup(); Bootstrap b = new Bootstrap(); //榛樿闀胯繛鎺� @@ -82,9 +87,9 @@ @Override public void operationComplete(ChannelFuture arg0) throws Exception { if (channelFuture.isSuccess()) { - log.info("-----IP={},杩炴帴鎴愬姛"); + log.info("-----IP={},杩炴帴鎴愬姛",host); } else { - log.info("-----IP={},杩炴帴澶辫触锛岃嚜鍔ㄥ叧闂嚎绋�"); + log.info("-----IP={},杩炴帴澶辫触锛岃嚜鍔ㄥ叧闂嚎绋�",host); channelFuture.cause().printStackTrace(); group.shutdownGracefully(); // 鍏抽棴绾跨▼缁� } @@ -98,6 +103,7 @@ return InvokeResult.SOCKET_NOT_CREATE; } if (!defaultChannel.isActive()) { + defaultChannel = null; return InvokeResult.CHANNEL_CLOSED; } @@ -107,11 +113,11 @@ } - public Channel getChannel() { + public static Channel getChannel() { return defaultChannel; } - public static void add2ChannelMap(String key, Channel channel) { + public void add2ChannelMap(String key, Channel channel) { clientChannelMap.put(key, channel); } @@ -128,6 +134,7 @@ return channel; } else { channel.close(); + defaultChannel = null; } return null; } @@ -137,6 +144,7 @@ return InvokeResult.SOCKET_NOT_CREATE; } if (!channel.isActive()) { + defaultChannel = null; return InvokeResult.CHANNEL_CLOSED; } channel.writeAndFlush(Unpooled.copiedBuffer(BytesUtil.hexStrToBytes(hex))).sync(); -- Gitblit v1.9.3