V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yuhua  ›  全部回复第 1 页 / 共 1 页
回复总数  2
2015-01-22 17:37:06 +08:00
回复了 yuhua 创建的主题 问与答 如何通过 golang 使用 vpn?
哎..还是太麻烦点了。后来考量下业务觉得改用python估计问题也不大。还是谢谢啦~
2015-01-22 15:29:36 +08:00
回复了 yuhua 创建的主题 问与答 如何通过 golang 使用 vpn?
ief, err := net.InterfaceByName(netInterface)
if err != nil {
fmt.Println(err)
}
addrs, err := ief.Addrs()
if err != nil {
fmt.Println(err)
}
fmt.Println(addrs[0])
tcpAddr := &net.TCPAddr{
IP: addrs[0].(*net.IPNet).IP,
}
fmt.Println(tcpAddr)
d := net.Dialer{LocalAddr: tcpAddr}

conn, err := d.Dial("tcp", addr)
if err != nil {
fmt.Println(err)
return nil, err
}

我试过了,貌似这样不行。一定要通过底层是setsockopt的方法
同样情况下python使用s.setsockopt(socket.SOL_SOCKET, 25, "ppp0"+'\0')通过了测试
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5425 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 06:53 · PVG 14:53 · LAX 23:53 · JFK 02:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.