如何从 golang 应用程序 ping 一个 IP 地址?最终目标是检查服务器是否在线。go 在标准库中有实现网络 ping 的方法吗?
3 回答
萧十郎
TA贡献1815条经验 获得超13个赞
我需要和你一样的东西,我已经exec.Command为我的 Raspberry Pi做了一个解决方法(使用)来检查服务器是否在线。这是实验代码
out, _ := exec.Command("ping", "192.168.0.111", "-c 5", "-i 3", "-w 10").Output()
if strings.Contains(string(out), "Destination Host Unreachable") {
fmt.Println("TANGO DOWN")
} else {
fmt.Println("IT'S ALIVEEE")
}
呼如林
TA贡献1798条经验 获得超3个赞
不。
Go 没有任何内置方法来 ping 标准库中的服务器。您需要自己编写代码。
为此,您可以查看golang library 的 icmp 部分。并使用此控制消息列表,正确构造 icmp 消息。
但是,请记住,出于安全原因,某些服务器管理员会关闭其服务器上的 ping 服务。因此,如果您的目标是最终检查服务器是否在线,这不是 100% 可靠的方法。
- 3 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消