我知道我可以使用net.DialTimeout来检查主机是否可以访问.但据我所知,使用这种方法我无法指定接口或取回主机所接触的接口
我正在寻找ping的功能-I flag,就像
ping -I eth0 www.google.se
但是我宁愿不依靠exec.Command来保持平台的兼容性
您可以使用此处interfaceByName提到的方法.我只是快速放入示例代码
func main() {
eth0, err := net.InterfaceByName("eth0")
if err != nil {
fmt.Println(err)
}
adds, err := eth0.Addrs()
if err != nil {
fmt.Println(err)
}
tcpAddr := &net.TCPAddr{
IP: adds[0].(*net.IPNet).IP,
}
d := net.Dialer{LocalAddr: tcpAddr, Timeout: time.Second * 60}
_, err = d.Dial("tcp", "www.google.se")
if err != nil {
fmt.Println(err)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |