我的計算機上有兩個網絡接口(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 回答
- 0 關注
- 190 瀏覽
添加回答
舉報
0/150
提交
取消