Skip to content

Commit 6247d16

Browse files
author
Evan Hu
committed
关闭服务器
1 parent 3fa9776 commit 6247d16

13 files changed

+55
-44
lines changed

src/main/java/info/xiaomo/gengine/network/MsgPack.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
public class MsgPack {
77
public static final byte HEAD_TCP = -128;
88

9+
private short sequence = 1;
10+
911
private final byte head;
1012
private final int msgId;
1113
private final byte[] bytes;

src/main/java/info/xiaomo/gengine/network/client/Client.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import java.util.Map;
88
import java.util.concurrent.*;
99
import info.xiaomo.gengine.network.MsgPack;
10+
import info.xiaomo.gengine.network.client.listener.ChannelConnectListener;
11+
import info.xiaomo.gengine.network.client.listener.ChannelDisconnectedListener;
1012
import info.xiaomo.gengine.network.handler.MessageDecoder;
1113
import info.xiaomo.gengine.network.handler.MessageEncoder;
1214
import io.netty.bootstrap.Bootstrap;
@@ -16,6 +18,7 @@
1618
import io.netty.channel.socket.nio.NioSocketChannel;
1719
import io.netty.handler.timeout.IdleStateHandler;
1820
import io.netty.util.AttributeKey;
21+
import lombok.Data;
1922
import org.slf4j.Logger;
2023
import org.slf4j.LoggerFactory;
2124

@@ -24,6 +27,7 @@
2427
*
2528
* @author zhangli 2017年6月15日 下午10:25:01
2629
*/
30+
@Data
2731
public class Client {
2832

2933
protected static final Logger LOGGER = LoggerFactory.getLogger(Client.class);
@@ -34,11 +38,12 @@ public class Client {
3438
protected Channel channel;
3539
protected Bootstrap bootstrap;
3640
protected EventLoopGroup group;
37-
protected Map<Short, ClientFuture<AbstractMessage>> futureMap = new ConcurrentHashMap<>();
41+
private Map<Short, ClientFuture<MsgPack>> futureMap = new ConcurrentHashMap<>();
3842
protected boolean stopped = false;
3943
/** 是否已经连接(调用connect)方法 */
4044
protected boolean connected = false;
41-
protected boolean needReconnect = true;
45+
46+
private boolean needReconnect;
4247
private short sequence = 0;
4348
/** 重连延迟 */
4449
private int reconnectDelay = 2;

src/main/java/info/xiaomo/gengine/network/client/ClientBuilder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.List;
55
import info.xiaomo.gengine.network.INetworkConsumer;
66
import info.xiaomo.gengine.network.INetworkEventListener;
7+
import info.xiaomo.gengine.network.client.listener.ClientListener;
78
import info.xiaomo.gengine.network.pool.MessageAndHandlerPool;
89
import io.netty.channel.ChannelHandler;
910
import lombok.Data;

src/main/java/info/xiaomo/gengine/network/client/ClientMessageExecutor.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package info.xiaomo.gengine.network.client;
22

3-
import com.google.protobuf.AbstractMessage;
43
import java.util.Map;
54
import info.xiaomo.gengine.network.INetworkConsumer;
65
import info.xiaomo.gengine.network.INetworkEventListener;
6+
import info.xiaomo.gengine.network.MsgPack;
77
import info.xiaomo.gengine.network.handler.MessageExecutor;
88
import io.netty.channel.ChannelHandlerContext;
99
import io.netty.handler.timeout.IdleState;
@@ -15,30 +15,32 @@ public class ClientMessageExecutor extends MessageExecutor {
1515

1616
public static final Logger LOGGER = LoggerFactory.getLogger(ClientMessageExecutor.class);
1717

18-
protected Map<Short, ClientFuture<AbstractMessage>> futureMap;
18+
protected Map<Short, ClientFuture<MsgPack>> futureMap;
19+
20+
protected boolean idleCheck;
1921

2022
public ClientMessageExecutor(
2123
INetworkConsumer consumer,
2224
INetworkEventListener listener,
23-
Map<Short, ClientFuture<AbstractMessage>> futureMap,
25+
Map<Short, ClientFuture<MsgPack>> futureMap,
2426
boolean idleCheck) {
2527
super(consumer, listener);
2628
this.futureMap = futureMap;
29+
this.idleCheck = idleCheck;
2730
}
2831

2932
@Override
3033
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
3134

32-
// AbstractMessage m = (AbstractMessage) msg;
33-
// ClientFuture<AbstractMessage> f = futureMap.get(m.getSequence());
34-
// if (f != null) {
35-
// if (!f.isCancelled()) {
36-
// f.result(m);
37-
// }
38-
// } else {
39-
super.channelRead(ctx, msg);
40-
// }
41-
35+
MsgPack m = (MsgPack) msg;
36+
ClientFuture<MsgPack> f = futureMap.get(m.getSequence());
37+
if (f != null) {
38+
if (!f.isCancelled()) {
39+
f.result(m);
40+
}
41+
} else {
42+
super.channelRead(ctx, msg);
43+
}
4244
}
4345

4446
@Override

src/main/java/info/xiaomo/gengine/network/client/NetworkConsumerAdapter.java renamed to src/main/java/info/xiaomo/gengine/network/client/DefaultNetworkConsumerAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* @author 张力
1111
* @date 2017/12/25 14:27
1212
*/
13-
public class NetworkConsumerAdapter implements INetworkConsumer {
13+
public class DefaultNetworkConsumerAdapter implements INetworkConsumer {
1414

1515
@Override
1616
public void consume(MsgPack msg, Channel channel) {

src/main/java/info/xiaomo/gengine/network/client/PooledClient.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
import com.google.protobuf.AbstractMessage;
44
import java.util.concurrent.ThreadLocalRandom;
55
import java.util.concurrent.TimeUnit;
6+
import info.xiaomo.gengine.network.client.listener.ChannelConnectListener;
7+
import info.xiaomo.gengine.network.client.listener.ChannelDisconnectedListener;
68
import io.netty.channel.Channel;
79
import io.netty.channel.ChannelFuture;
810
import io.netty.util.concurrent.Future;
911

12+
/** 带连接池的客户端 */
1013
public class PooledClient extends Client {
1114

1215
protected Channel[] channels;

src/main/java/info/xiaomo/gengine/network/client/ChannelConnectListener.java renamed to src/main/java/info/xiaomo/gengine/network/client/listener/ChannelConnectListener.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
package info.xiaomo.gengine.network.client;
1+
package info.xiaomo.gengine.network.client.listener;
22

33
import java.util.concurrent.TimeUnit;
4+
import info.xiaomo.gengine.network.client.Client;
5+
import info.xiaomo.gengine.network.client.ClientBuilder;
46
import io.netty.channel.ChannelFuture;
57
import io.netty.channel.ChannelFutureListener;
68
import org.slf4j.Logger;
@@ -50,7 +52,7 @@ public void operationComplete(ChannelFuture future) {
5052
index,
5153
builder.getHost(),
5254
builder.getPort());
53-
} else if (!client.needReconnect) {
55+
} else if (!client.isNeedReconnect()) {
5456
LOGGER.error(
5557
"重连功能关闭不重连,index->{}, host->{}, port->{}",
5658
index,

src/main/java/info/xiaomo/gengine/network/client/ChannelDisconnectedListener.java renamed to src/main/java/info/xiaomo/gengine/network/client/listener/ChannelDisconnectedListener.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package info.xiaomo.gengine.network.client;
1+
package info.xiaomo.gengine.network.client.listener;
22

33
import java.util.concurrent.TimeUnit;
4+
import info.xiaomo.gengine.network.client.Client;
45
import io.netty.channel.ChannelFuture;
56
import io.netty.channel.ChannelFutureListener;
67
import org.slf4j.Logger;
@@ -27,7 +28,7 @@ public void operationComplete(ChannelFuture future) {
2728
"连接断开,客户端已关闭不进行重连,host->{},port->{}",
2829
client.getBuilder().getHost(),
2930
client.getBuilder().getPort());
30-
} else if (!client.needReconnect) {
31+
} else if (!client.isNeedReconnect()) {
3132
LOGGER.info(
3233
"连接断开,重连功能关闭不重连,host->{},port->{}",
3334
client.getBuilder().getHost(),

src/main/java/info/xiaomo/gengine/network/client/ClientListener.java renamed to src/main/java/info/xiaomo/gengine/network/client/listener/ClientListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package info.xiaomo.gengine.network.client;
1+
package info.xiaomo.gengine.network.client.listener;
22

33
import io.netty.channel.Channel;
44

src/main/java/info/xiaomo/gengine/network/client/NetworkEventListenerAdapter.java renamed to src/main/java/info/xiaomo/gengine/network/client/listener/DefaultNetworkEventListenerAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package info.xiaomo.gengine.network.client;
1+
package info.xiaomo.gengine.network.client.listener;
22

33
import info.xiaomo.gengine.network.INetworkEventListener;
44
import io.netty.channel.ChannelHandlerContext;
@@ -9,7 +9,7 @@
99
* @author 张力
1010
* @date 2017/12/25 14:19
1111
*/
12-
public class NetworkEventListenerAdapter implements INetworkEventListener {
12+
public class DefaultNetworkEventListenerAdapter implements INetworkEventListener {
1313

1414
@Override
1515
public void onConnected(ChannelHandlerContext ctx) {}

0 commit comments

Comments
 (0)