From 019044c275b721656ddd07ab1a0896ac0bcc2b9a Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Tue, 26 Jan 2021 21:50:33 +0800 Subject: [PATCH] Refactor: Move NatTest to MainForm Move call NetTraffic() NatTest() to ControlButton_Click() --- Netch/Controllers/MainController.cs | 35 +-------------------------- Netch/Forms/MainForm.cs | 37 +++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Netch/Controllers/MainController.cs b/Netch/Controllers/MainController.cs index 7334709a..930086b8 100644 --- a/Netch/Controllers/MainController.cs +++ b/Netch/Controllers/MainController.cs @@ -21,9 +21,7 @@ namespace Netch.Controllers private static Server _udpServer; - public static bool NttTested; - - private static readonly NTTController NTTController = new(); + public static readonly NTTController NTTController = new(); private static IServerController _serverController; private static IServerController _udpServerController; @@ -97,9 +95,6 @@ namespace Netch.Controllers if (!await StartMode(mode)) throw new StartFailedException(); - _ = Task.Run(Bandwidth.NetTraffic); - _ = Task.Run(NatTest); - return true; } catch (Exception e) @@ -232,34 +227,6 @@ namespace Netch.Controllers return false; } } - - /// - /// 测试 NAT - /// - public static void NatTest() - { - if (!Mode.TestNatRequired()) - return; - NttTested = false; - Task.Run(() => - { - Global.MainForm.NatTypeStatusText(i18N.Translate("Starting NatTester")); - // Thread.Sleep(1000); - var (result, localEnd, publicEnd) = NTTController.Start(); - - if (!string.IsNullOrEmpty(publicEnd)) - { - var country = Utils.Utils.GetCityCode(publicEnd); - Global.MainForm.NatTypeStatusText(result, country); - } - else - { - Global.MainForm.NatTypeStatusText(result ?? "Error"); - } - - NttTested = true; - }); - } } public class StartFailedException : Exception diff --git a/Netch/Forms/MainForm.cs b/Netch/Forms/MainForm.cs index 2da9c5f7..0d0e73dc 100644 --- a/Netch/Forms/MainForm.cs +++ b/Netch/Forms/MainForm.cs @@ -599,6 +599,9 @@ namespace Netch.Forms State = State.Started; + _ = Task.Run(Bandwidth.NetTraffic); + _ = Task.Run(NatTest); + if (Global.Settings.MinimizeWhenStarted) Minimize(); @@ -1255,8 +1258,38 @@ namespace Netch.Forms private void NatTypeStatusLabel_Click(object sender, EventArgs e) { - if (_state == State.Started && MainController.NttTested) - MainController.NatTest(); + if (_state == State.Started && NttTested) + NatTest(); + } + + private static bool NttTested; + + /// + /// 测试 NAT + /// + public void NatTest() + { + if (!MainController.Mode.TestNatRequired()) + return; + NttTested = false; + Task.Run(() => + { + NatTypeStatusText(i18N.Translate("Starting NatTester")); + // Thread.Sleep(1000); + var (result, localEnd, publicEnd) = MainController.NTTController.Start(); + + if (!string.IsNullOrEmpty(publicEnd)) + { + var country = Utils.Utils.GetCityCode(publicEnd); + NatTypeStatusText(result, country); + } + else + { + NatTypeStatusText(result ?? "Error"); + } + + NttTested = true; + }); } #endregion