mirror of
https://github.com/netchx/netch.git
synced 2026-05-07 22:44:03 +08:00
Refactor:
Move NatTest to MainForm Move call NetTraffic() NatTest() to ControlButton_Click()
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 测试 NAT
|
||||
/// </summary>
|
||||
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
|
||||
|
||||
@@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// 测试 NAT
|
||||
/// </summary>
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user