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