From f879380a543f2543976fef118ef441073bfc3178 Mon Sep 17 00:00:00 2001 From: dwx666 Date: Tue, 23 Aug 2022 23:17:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96TCP=E9=87=8D=E8=BF=9E?= =?UTF-8?q?=E7=9A=84=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sockets/Extensions/SocketPluginsManagerExtension.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/TouchSocket/Sockets/Extensions/SocketPluginsManagerExtension.cs b/src/TouchSocket/Sockets/Extensions/SocketPluginsManagerExtension.cs index af74fb54..5c920c6c 100644 --- a/src/TouchSocket/Sockets/Extensions/SocketPluginsManagerExtension.cs +++ b/src/TouchSocket/Sockets/Extensions/SocketPluginsManagerExtension.cs @@ -37,6 +37,7 @@ namespace TouchSocket.Core.Plugins public static IPluginsManager UseReconnection(this IPluginsManager pluginsManager, int tryCount = 10, bool printLog = false, int sleepTime = 1000, Action successCallback = null) { + bool first = true; var reconnectionPlugin = new ReconnectionPlugin(client=> { int tryT = tryCount; @@ -50,9 +51,11 @@ namespace TouchSocket.Core.Plugins } else { + if (first) Thread.Sleep(1000); + first = false; client.Connect(); + first = true; } - successCallback?.Invoke(client); return true; } @@ -85,6 +88,7 @@ namespace TouchSocket.Core.Plugins Func failCallback=null, Action successCallback = null) { + bool first = true; var reconnectionPlugin = new ReconnectionPlugin(client => { int tryT = 0; @@ -98,7 +102,10 @@ namespace TouchSocket.Core.Plugins } else { + if (first) Thread.Sleep(1000); + first = false; client.Connect(); + first = true; } successCallback?.Invoke(client); -- GitLab