From c045b914a42a57c9a2fb636da24bb0c6ce441ac1 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Sun, 12 Feb 2023 16:35:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=9B=A0=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=B8=8A=E4=B8=AA=20BUG=20=E8=80=8C=E4=BA=A7=E7=94=9F?= =?UTF-8?q?=E7=9A=84=E6=96=B0=20BUG(=E4=B8=8B=E8=BD=BD=E9=80=9F=E5=BA=A6?= =?UTF-8?q?=E4=B8=BA=200.00)...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task/download.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/task/download.go b/task/download.go index 65ddfd8..8ae5624 100644 --- a/task/download.go +++ b/task/download.go @@ -167,15 +167,13 @@ func downloadHandler(ip *net.IPAddr) float64 { } bufferRead, err := response.Body.Read(buffer) if err != nil { + if err != io.EOF { // 如果文件下载过程中遇到报错(如 Timeout),且并不是因为文件下载完了,则退出循环(终止测速) + break + } // 获取上个时间片 last_time_slice := timeStart.Add(timeSlice * time.Duration(timeCounter-1)) // 下载数据量 / (用当前时间 - 上个时间片/ 时间片) e.Add(float64(contentRead-lastContentRead) / (float64(currentTime.Sub(last_time_slice)) / float64(timeSlice))) - - if err == io.EOF { // 文件下载完了,或因网络等问题导致链接中断,则退出循环(终止测速) - break - } - } contentRead += int64(bufferRead) }