我的机子是windows7专业版、
安装之后IP协议是IPv6、
用普通获取方式得到的就是IPv6的地址、
如何将他转换成IPv4的内种、

解决方案 »

  1.   

    System.Net.IPHostEntry IpEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()); 
                for (int i = 0; i != IpEntry.AddressList.Length; i++) 
                { 
                    if (!IpEntry.AddressList[i].IsIPv6LinkLocal) 
                    { 
                        MessageBox.Show(IpEntry.AddressList[i].ToString()); 
                    } 
                }
      

  2.   

    IPHostEntry IpEntry = Dns.GetHostEntry(Dns.GetHostName());
                string myip = IpEntry.AddressList[0].ToString();//这样,如果没有安装IPV6协议,可以取得IP地址.  但是如果安装了IPV6,就取得的是IPV6的IP地址.string myip = IpEntry.AddressList[1].ToString();
    //这样就在IPV6的情况下取得IPV4的IP地址.
      

  3.   

    我用的vista也有IPV6地址
    IPAddress[] ips = Dns.GetHostAddresses("");可以得到IP列表
    一般来说,ips[0]是IPV6格式,ips[1]是IPv4格式
    也说是说,根据主机名获取IP集合,第一项是IPV6,第二项是IPV4.
      

  4.   

    但是我测试的时候还是显示的IPv6的格式啊、行不通 阿、
      

  5.   

    一楼 、 二楼都不行、
    三楼的也不行、
    都只能获取IPv6格式的
      

  6.   

    使用旧的方法
               //GetHostByName 获得的是IPv4的地址,若用GetHostEntry代替则获得所有地址            IPHostEntry IPH = Dns.GetHostByName(this.textBox1.Text);
                IPAddress[] MyIP = IPH.AddressList;
               string ipv4=MyIP[0].ToString();