2016-08-04 99 views
0

我目前正在尋找一種方法來正確處理丟失的IPv6連接。正確的方法來處理丟失的IPv6連接

用例是,我解析了一個DNS記錄,該記錄可能包含AAAA記錄並連接到每個已解析的IP。現在運行該代碼的系統可能沒有IPv6連接。

所以我正在尋找正確的方法來處理這個問題,並忽略這些記錄,但只有當主機無法連接。

我目前的做法是:

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

但我不知道,如果有更好的辦法。

回答

0

簡單的解決辦法是使用使用名稱net.DialerDualStack設置爲true,只是Dial(),讓庫處理「快樂眼球」爲您服務。

+0

不幸的是,這不是一個選項,因爲我想連接到指定的每個主機(監控檢查),所以我只是尋找最佳方法來過濾掉ipv6記錄,如果沒有ipv6連接 – beck

相關問題