diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index dd727c2d..bf61cc5b 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -1257,11 +1257,11 @@ namespace v2rayN.Forms { int httpPort = config.GetLocalPort(Global.InboundHttp); WebProxy webProxy = new WebProxy(Global.Loopback, httpPort); - downloadHandle.DownloadFileAsync(url, webProxy, 60); + downloadHandle.DownloadFileAsync(url, webProxy, 600); } else { - downloadHandle.DownloadFileAsync(url, null, 60); + downloadHandle.DownloadFileAsync(url, null, 600); } } } diff --git a/v2rayN/v2rayN/Handler/DownloadHandle.cs b/v2rayN/v2rayN/Handler/DownloadHandle.cs index b4958bfe..bd09d27f 100644 --- a/v2rayN/v2rayN/Handler/DownloadHandle.cs +++ b/v2rayN/v2rayN/Handler/DownloadHandle.cs @@ -228,19 +228,33 @@ namespace v2rayN.Handler } } } - void ws_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) { try { if (UpdateCompleted != null) { - if (e.Error != null) throw e.Error; + if (e.Cancelled) + { + ((WebClientEx)sender).Dispose(); + TimeSpan ts = (DateTime.Now - totalDatetime); + string speed = string.Format("{0} M/s", (totalBytesToReceive / ts.TotalMilliseconds / 1000).ToString("#0.##")); + UpdateCompleted(this, new ResultEventArgs(true, speed)); + return; + } - ((WebClientEx)sender).Dispose(); - TimeSpan ts = (DateTime.Now - totalDatetime); - string speed = string.Format("<{0} MB/s", (totalBytesToReceive / ts.TotalMilliseconds / 1000).ToString("#0.##")); - UpdateCompleted(this, new ResultEventArgs(true, speed)); + if (e.Error == null + || Utils.IsNullOrEmpty(e.Error.ToString())) + { + + TimeSpan ts = (DateTime.Now - totalDatetime); + string speed = string.Format("{0} M/s", (totalBytesToReceive / ts.TotalMilliseconds / 1000).ToString("#0.##")); + UpdateCompleted(this, new ResultEventArgs(true, speed)); + } + else + { + throw e.Error; + } } } catch (Exception ex) diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs index 303034b9..bc50f921 100644 --- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs +++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs @@ -219,7 +219,7 @@ namespace v2rayN.Handler testCounter++; WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + index); - downloadHandle2.DownloadFileAsync(url, webProxy, 20); + downloadHandle2.DownloadFileAsync(url, webProxy, 10); } }