为了账号安全,请及时绑定邮箱和手机立即绑定

用特定的地址/接口拨号?高朗

用特定的地址/接口拨号?高朗

Go
素胚勾勒不出你 2021-09-09 21:35:27
我的计算机上有两个网络接口(eth0 和 eth1),我正在尝试使用特定接口(eth1)拨号连接。鉴于 Go 是一种系统语言的说法,我认为这是一种系统语言,但是当前的标准库真的有可能吗?到目前为止,我必须按名称InterfaceByName( eth1)获取接口,然后我遍历Addrs方法并提取第一个地址 [0],这似乎是 eth1 接口的源地址(例如 xxx.xxx.xxx/24);另一个是ipv6地址。我创建了一个新的Dialer并设置Dialer.LocalAddr了提取的地址。但是我得到这个错误mismatched local address type似乎与来自dial.go 的dialSingle 函数有关编辑 一些代码:package mainimport (        "net"        "log")func main(){        ief, err := net.InterfaceByName("eth1")        if err !=nil{                log.Fatal(err)        }        addrs, err := ief.Addrs()        if err !=nil{                log.Fatal(err)        }        d := net.Dialer{LocalAddr: addrs[0]}        _, err = d.Dial("tcp", "google.com:80")        if err != nil {                log.Fatal(err)        }}输出: 2014/12/10 17:11:48 dial tcp 216.58.208.32:80: mismatched local address type ip+net
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信