如题 代码如下 public string getIP() //获取IP { string HostName = Dns.GetHostName(); //得到主机名 IPHostEntry IpEntry = Dns.GetHostEntry(HostName); //得到主机IP string strIPAddr = IpEntry.AddressList[0].ToString(); IPAddress ipp= IPAddress.Parse(strIPAddr); return (ipp.ToString()); }我得到的结果为fe80::49d:8fbf:ca5e:d1cd%12求各位高人怎么把它变成ipv4的地址呢?好像我调试的时候看到socket没有ipv6支持啊
ä½ æ¯å¨Win7ä¸åçå§ï¼å¨å¾å°çAddressListä¸æIPV4å°ååï¼ä½ ååºæ¥çä¸ä¸å°±è¡äºï¼æ¹ä¸ç´¢å¼å°±è¡äºï¼å¯è½æ¯1æè
2
strIPAddr = IpEntry.AddressList[1].ToString();
strIPAddr = IpEntry.AddressList[1].ToString();
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-10-10
foreach(IPAddress ip in IpEntry.AddressList) :
ip.AddressFamily == AddressFamily.InterNetworkV6 则为IPv6地址
ip.AddressFamily == AddressFamily.InterNetwork 则为IPv4地址
加个判断就行。不过在多网卡情况下,会有多个IPv4地址,请注意。
ip.AddressFamily == AddressFamily.InterNetworkV6 则为IPv6地址
ip.AddressFamily == AddressFamily.InterNetwork 则为IPv4地址
加个判断就行。不过在多网卡情况下,会有多个IPv4地址,请注意。