go ping 短时间ping 多次而不是 1秒ping 一次

linux 下 ping -f 1000 baidu.com 可以ping 多次 而不是 一秒一次

go ping 库 这么弄的话有个 interval 选项
代码如下

func main() {
	

	now := time.Now()
	pinger, err := ping.NewPinger("baidu.com")
	if err != nil {
		panic(err)
	}
	pinger.Interval = time.Millisecond * 10
	pinger.SetPrivileged(true)
	pinger.Count = 10
	pinger.Timeout = time.Millisecond * 2000
	err = pinger.Run() // Blocks until finished.
	if err != nil {
		panic(err)
	}
	stats := pinger.Statistics() // get send/receive/duplicate/rtt stats
	fmt.Printf("stats = %+v\n", stats)
	loss := stats.PacketLoss
	fmt.Printf("loss = %+v\n", loss)
	fmt.Printf("time = %s\n", time.Since(now))
}
posted @ 2023-02-09 19:13  ifnk  阅读(65)  评论(0编辑  收藏  举报