日期:2014-05-18  浏览次数:20789 次

我的ip这么显示不了
public partial class Default3 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
  TextBox1.Text = Dns.GetHostName();
  IPHostEntry iphost = Dns.GetHostEntry(TextBox1.Text);
  TextBox2.Text=iphost.AddressList[0].ToString();
  }
}
用户名显示lenovo-b9b16e97是对的

ip显示不对为::1 怎么解决?

------解决方案--------------------
把ipv6的协议删掉
------解决方案--------------------
在本地连接的属性,找到Internet Protocol V6(IPv6),点击选择卸载,确定
------解决方案--------------------
C# code

static string GetIpAddress(string hostName)
{
    IPHostEntry iphost = Dns.GetHostEntry(hostName);
    foreach (IPAddress var in iphost.AddressList)
    {
        if (var.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
        {
            return var.ToString();
        }
    }
    return iphost.AddressList[0].ToString();
}

//usage
string ip = GetIpAddress("localhost");

------解决方案--------------------
System.Net.IPAddress.IPv6Loopback的值为"::1"