從 windows vista 首開預設啟用ipv6的先例,而在 ipv4、ipv6 兩者共存的環境下,ipv6 具有較高的優先順序,因此獲取的 ip 位址就會以 ipv6 格式為主。好在為了解決這問題,不必刻意把 ipv6 關掉。同樣的問題是host 檔案裡對localhost的解析,預設返回的是ipv6的位址。具體的說明可以看這篇文章returning an ipv4 address in an ipv6-enabled environment ,文中也有**,執行起來不符合預期,修正的**如下:
using system;
using system.net;
using system.web;
public class ipnetworking }
if (ipv4 != string.empty)
// 原**使用 dns.gethostname 方法取回的是 server 端資料,非 client 端。
// 改為利用 dns.gethostentry 方法,由獲取的 ipv6 位址反查 dns 記錄,
// 再逐一判斷是否屬於 ipv4 協議定,如果是轉換為 ipv4 位址。
foreach (ipaddress ip in dns.gethostentry(getclientip()).addresslist)
//foreach (ipaddress ip in dns.gethostaddresses(dns.gethostname())) }
return ipv4;
} ///
/// 取得客戶端主機位址
///
public static string getclientip()
else }
}ipv6取代ipv4是趨勢,在沒有大規模部署ipv6,以ipv4為主的環境下以上**可以救急。
Ubuntu啟用IPv6上google的方法
pv6就是我們通常所說的網際網路協議,是tcp ip的核心協議,那麼在linux下如何開啟ipv6呢?下面以ubuntu為例,給大家介紹下ubuntu啟用ipv6的方法。方法 sudo apt get install miredo ifconfig 在結果中應該能看見乙個叫 teredo 的虛擬網絡...
Ubuntu啟用IPv6上google的方法
ipv6就是我們通常所說的網際網路協議,是tcp ip的核心協議,那麼在linux下如何開啟ipv6呢?下面以ubuntu為例,給大家介紹下ubuntu啟用ipv6的方法。方法 sudo apt get install miredo ifconfig 在結果中應該能看見乙個叫 teredo 的虛擬網...
在Ubuntu上禁用IPv6
禁用 ipv6 方案1 編輯檔案 etc sysctl.conf sudo gedit etc sysctl conf 在檔案的最後加入下面的行。ipv6 disabled net.ipv6 conf all disable ipv6 1 net.ipv6 conf default disable ...