goland testen, ob die IP angepingt werden kann

Nicht viel Unsinn, gehen Sie einfach zum Code

package main

import (
    "fmt"
    "time"

    "github.com/go-ping/ping"
)

func ServerPing(target string) bool {
    pinger, err := ping.NewPinger(target)
    if err != nil {
        panic(err)
    }

    pinger.Count = 2                                     // 设置 ping 的次数
    pinger.Timeout = time.Duration(1 * time.Millisecond) // 设置 ping 的超时时间
    pinger.SetPrivileged(true)
    pinger.Run() // blocks until finished
    stats := pinger.Statistics()

    fmt.Println(stats)
    // 有回包,就是说明IP是可用的
    if stats.PacketsRecv >= 1 {
        return true
    }
    return false
}

func main() {

    // ip := "172.17.16.111"
    ip := "172.16.1.40"
    resBool := ServerPing(ip)
    fmt.Println(resBool)
}

おすすめ

転載: blog.csdn.net/Apolozie/article/details/129218942