From 59af9b524a57005c7b6a05e446e37612e2598c66 Mon Sep 17 00:00:00 2001 From: zzy <153730598@qq.com> Date: Tue, 21 Dec 2021 22:47:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/the/flash/NettyClient.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/the/flash/NettyClient.java b/src/main/java/the/flash/NettyClient.java index c398662..fa64dda 100644 --- a/src/main/java/the/flash/NettyClient.java +++ b/src/main/java/the/flash/NettyClient.java @@ -44,6 +44,7 @@ public void initChannel(SocketChannel ch) { connect(bootstrap, "juejin.im", 80, MAX_RETRY); } + // 使用退避策略来自动重连 private static void connect(Bootstrap bootstrap, String host, int port, int retry) { bootstrap.connect(host, port).addListener(future -> { if (future.isSuccess()) { @@ -56,6 +57,7 @@ private static void connect(Bootstrap bootstrap, String host, int port, int retr // 本次重连的间隔 int delay = 1 << order; System.err.println(new Date() + ": 连接失败,第" + order + "次重连……"); + // bootstrap.config().group() 返回的就是我们在一开始的时候配置的线程模型 workerGroup,调 workerGroup 的 schedule 方法即可实现定时任务逻辑 bootstrap.config().group().schedule(() -> connect(bootstrap, host, port, retry - 1), delay, TimeUnit .SECONDS); }