C#获取本地IP地址是ipv6的 怎么转换成ipv4

如题 代码如下        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();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-10
foreach(IPAddress ip in IpEntry.AddressList) :
ip.AddressFamily == AddressFamily.InterNetworkV6 则为IPv6地址
ip.AddressFamily == AddressFamily.InterNetwork 则为IPv4地址

加个判断就行。不过在多网卡情况下,会有多个IPv4地址,请注意。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网