如何从 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 关注
 - 167 浏览
 
添加回答
举报
0/150
	提交
		取消
	