diff --git a/goping/goping.go b/goping/goping.go index 4d01db5..38990af 100644 --- a/goping/goping.go +++ b/goping/goping.go @@ -105,6 +105,7 @@ func Ping(domain string, PS int) { recv := make([]byte, 1024) ret_list := []float64{} + maxLost := 3 // 最大丢包数 dropPack := 0.0 /*统计丢包的次数,用于计算丢包率*/ max_lan = 3000.0 min_lan = 0.0 @@ -153,6 +154,9 @@ func Ping(domain string, PS int) { if err != nil { fmt.Printf("%d bytes from %s (%s): icmp_seq=%d ttl=53 time=1000 %s\n", len, raddr.String(), raddr.String(), icmp_seq, red("ms")) dropPack++ + if int(dropPack) >= maxLost { + os.Exit(0) + } time.Sleep(time.Second) continue }