Browse Source

fix zero result print

mazhuang 3 years ago
parent
commit
80eadc8df2
3 changed files with 15 additions and 10 deletions
  1. 3 10
      main.go
  2. 8 0
      task/tcping.go
  3. 4 0
      utils/csv.go

+ 3 - 10
main.go

@@ -96,15 +96,11 @@ https://github.com/XIU2/CloudflareSpeedTest
 func main() {
 func main() {
 	go checkUpdate() // 检查版本更新
 	go checkUpdate() // 检查版本更新
 
 
-	// 开始延迟测速
 	fmt.Printf("# XIU2/CloudflareSpeedTest %s \n", version)
 	fmt.Printf("# XIU2/CloudflareSpeedTest %s \n", version)
-	ipVersion := "IPv4"
-	if task.IPv6 { // IPv6 模式判断
-		ipVersion = "IPv6"
-	}
-	fmt.Printf("开始延迟测速(模式:TCP %s,端口:%d ,平均延迟上限:%v,平均延迟下限:%v)\n", ipVersion, task.TCPPort, utils.InputMaxDelay, utils.InputMinDelay)
 
 
+	// 开始延迟测速
 	pingData := task.NewPing().Run().FilterDelay()
 	pingData := task.NewPing().Run().FilterDelay()
+	// 开始下载测速
 	speedData := task.TestDownloadSpeed(pingData)
 	speedData := task.TestDownloadSpeed(pingData)
 	utils.ExportCsv(speedData)
 	utils.ExportCsv(speedData)
 	speedData.Print(task.IPv6)
 	speedData.Print(task.IPv6)
@@ -113,11 +109,8 @@ func main() {
 		fmt.Printf("\n*** 发现新版本 [%s]!请前往 [https://github.com/XIU2/CloudflareSpeedTest] 更新! ***\n", versionNew)
 		fmt.Printf("\n*** 发现新版本 [%s]!请前往 [https://github.com/XIU2/CloudflareSpeedTest] 更新! ***\n", versionNew)
 	}
 	}
 
 
-	if utils.Output != "" {
-		fmt.Printf("完整测速结果已写入 %v 文件,请使用记事本/表格软件查看。\n", utils.Output)
-	}
 	if runtime.GOOS == "windows" { // 如果是 Windows 系统,则需要按下 回车键 或 Ctrl+C 退出(避免通过双击运行时,测速完毕后直接关闭)
 	if runtime.GOOS == "windows" { // 如果是 Windows 系统,则需要按下 回车键 或 Ctrl+C 退出(避免通过双击运行时,测速完毕后直接关闭)
-		fmt.Printf("按下 回车键 或 Ctrl+C 退出。\n")
+		fmt.Println("\n按下 回车键 或 Ctrl+C 退出。")
 		var pause int
 		var pause int
 		fmt.Scanln(&pause)
 		fmt.Scanln(&pause)
 	}
 	}

+ 8 - 0
task/tcping.go

@@ -59,6 +59,14 @@ func NewPing() *Ping {
 }
 }
 
 
 func (p *Ping) Run() utils.PingDelaySet {
 func (p *Ping) Run() utils.PingDelaySet {
+	if len(p.ips) == 0 {
+		return p.csv
+	}
+	ipVersion := "IPv4"
+	if IPv6 { // IPv6 模式判断
+		ipVersion = "IPv6"
+	}
+	fmt.Printf("开始延迟测速(模式:TCP %s,端口:%d ,平均延迟上限:%v,平均延迟下限:%v)\n", ipVersion, TCPPort, utils.InputMaxDelay, utils.InputMinDelay)
 	for _, ip := range p.ips {
 	for _, ip := range p.ips {
 		p.wg.Add(1)
 		p.wg.Add(1)
 		p.control <- false
 		p.control <- false

+ 4 - 0
utils/csv.go

@@ -59,6 +59,9 @@ func ExportCsv(data []CloudflareIPData) {
 	if Output == "" {
 	if Output == "" {
 		Output = defaultOutput
 		Output = defaultOutput
 	}
 	}
+	if len(data) == 0 {
+		return
+	}
 	fp, err := os.Create(Output)
 	fp, err := os.Create(Output)
 	if err != nil {
 	if err != nil {
 		log.Fatalf("创建文件[%s]失败:%v", Output, err)
 		log.Fatalf("创建文件[%s]失败:%v", Output, err)
@@ -69,6 +72,7 @@ func ExportCsv(data []CloudflareIPData) {
 	w.Write([]string{"IP 地址", "已发送", "已接收", "丢包率", "平均延迟", "下载速度 (MB/s)"})
 	w.Write([]string{"IP 地址", "已发送", "已接收", "丢包率", "平均延迟", "下载速度 (MB/s)"})
 	w.WriteAll(convertToString(data))
 	w.WriteAll(convertToString(data))
 	w.Flush()
 	w.Flush()
+	fmt.Printf("完整测速结果已写入 %v 文件,请使用记事本/表格软件查看。\n", Output)
 }
 }
 
 
 func convertToString(data []CloudflareIPData) [][]string {
 func convertToString(data []CloudflareIPData) [][]string {