diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index 7be1edfb..0b632ec2 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -767,8 +767,8 @@ namespace v2rayN.Forms private void tsbTestMe_Click(object sender, EventArgs e) { - string result = (new DownloadHandle()).RunAvailabilityCheck(null) + "ms"; - AppendText(false, string.Format(ResUI.TestMeOutput, result)); + var updateHandle = new UpdateHandle(); + updateHandle.RunAvailabilityCheck(UpdateTaskHandler); } private void menuClearStatistic_Click(object sender, EventArgs e) @@ -1366,7 +1366,10 @@ namespace v2rayN.Forms menuExit_Click(null, null); } }; - (new UpdateHandle()).CheckUpdateGuiN(config, _updateUI); + Task.Run(() => + { + (new UpdateHandle()).CheckUpdateGuiN(config, _updateUI); + }); } private void tsbCheckUpdateCore_Click(object sender, EventArgs e) @@ -1399,7 +1402,10 @@ namespace v2rayN.Forms AppendText(false, ResUI.MsgUpdateV2rayCoreSuccessfully); } }; - (new UpdateHandle()).CheckUpdateCore(type, config, _updateUI); + Task.Run(() => + { + (new UpdateHandle()).CheckUpdateCore(type, config, _updateUI); + }); } private void tsbCheckUpdateGeo_Click(object sender, EventArgs e) diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs index 686f42a6..0e4c8fd7 100644 --- a/v2rayN/v2rayN/Handler/DownloadHandle.cs +++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs @@ -176,21 +176,17 @@ namespace v2rayN.Handler webProxy = new WebProxy(Global.Loopback, httpPort); } - Task t = Task.Run(() => + try { - try - { - string status = GetRealPingTime(Global.SpeedPingTestUrl, webProxy, out int responseTime); - bool noError = Utils.IsNullOrEmpty(status); - return noError ? responseTime : -1; - } - catch (Exception ex) - { - Utils.SaveLog(ex.Message, ex); - return -1; - } - }); - return t.Result; + string status = GetRealPingTime(Global.SpeedPingTestUrl, webProxy, out int responseTime); + bool noError = Utils.IsNullOrEmpty(status); + return noError ? responseTime : -1; + } + catch (Exception ex) + { + Utils.SaveLog(ex.Message, ex); + return -1; + } } catch (Exception ex) { diff --git a/v2rayN/v2rayN/Handler/UpdateHandle.cs b/v2rayN/v2rayN/Handler/UpdateHandle.cs index 7eefe540..50584ebb 100644 --- a/v2rayN/v2rayN/Handler/UpdateHandle.cs +++ b/v2rayN/v2rayN/Handler/UpdateHandle.cs @@ -250,8 +250,8 @@ namespace v2rayN.Handler File.Delete(targetPath); } File.Move(fileName, targetPath); - //_updateFunc(true, ""); - } + //_updateFunc(true, ""); + } } catch (Exception ex) { @@ -272,6 +272,16 @@ namespace v2rayN.Handler } + public void RunAvailabilityCheck(Action update) + { + Task.Run(() => + { + var time = (new DownloadHandle()).RunAvailabilityCheck(null); + + update(false, string.Format(ResUI.TestMeOutput, time)); + }); + } + #region private private async void CheckUpdateAsync(ECoreType type) diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index f437c794..83635795 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -953,7 +953,7 @@ namespace v2rayN.Resx { } /// - /// 查找类似 The ping of current service: {0} 的本地化字符串。 + /// 查找类似 The ping of current service: {0} ms 的本地化字符串。 /// internal static string TestMeOutput { get { diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 26122beb..a3224bdd 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -356,7 +356,7 @@ Scan import URL successfully - The ping of current service: {0} + The ping of current service: {0} ms Operation success diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index aa5b8dd2..a5b92d97 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -356,7 +356,7 @@ 扫描导入URL成功 - 当前服务的真连接延迟: {0} + 当前服务的真连接延迟: {0} ms 操作成功