From b1c572949997a5d82d9b609163ff280a1c49627d Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期五, 26 四月 2024 14:09:45 +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