处理丢失的IPv6连接的正确方法

时间:2016-08-04 09:53:40

标签: networking go

我目前正在寻找一种正确处理丢失的IPv6连接的方法。

用例是,我解析了可能包含AAAA条记录的DNS记录,并连接到每个已解析的IP。现在运行该代码的系统可能没有IPv6连接。

所以我正在寻找正确的方法来处理这个并忽略这些记录,但前提是主机无法连接。

我目前的做法是:

if ip.To4() == nil && err.(*net.OpError).Err.(*os.SyscallError).Err == syscall.EHOSTUNREACH {
    log.Info("ignoring unreachable IPv6 address")
    continue
}

但我不确定,如果有更好的方法。

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是使用net.Dialer DualStack设置为trueDial()使用名称,让图书馆处理“快乐的眼球”你。