我相信标题是不言自明的,但为了以防万一,我会进一步解释。
我正在用 Go 编写一个函数,它使用 icmp 来检查特定服务是否正在运行。我从 Go 中实现的 ping 中得到了这个想法。当我尝试命令行ping时,它无法解析127.0.0.1:8080,并且功能也随之而来,这是有道理的。但是我可以使用 icmp 来检查地址和端口是否有遗漏吗?或者我应该坚持使用 tcp 之类的东西来定位端口?
现在我有这个简单的功能,我可以只使用 tcp,但我很好奇我是否可以使用像 icmp 这样的东西。
func (c *Controller) Ping() error {
conn, connErr := net.Dial("ip4:icmp", c.APIServerIP)
if connErr != nil {
return connErr
}
conn.SetDeadline(time.Now().Add(3 * time.Second))
defer conn.Close()
return nil
}
犯罪嫌疑人X
相关分类