2016-08-01 50 views
1

我开发这就需要用户系统的IP地址,我用下面的代码如何获得IPv4的IP而不是回IP

获取IP的应用

IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName()); 
foreach (IPAddress i in localIPs) 
{ 
    if (i.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) 
    { 
     txtIP.Text = i.ToString(); 
    } 
} 

在许多系统中它的工作原理很细但有一段时间它捕获环回IP地址127.0.0.1。任何人都可以指导我如何防止应用程序捕获环回IP。

回答

2

只是过滤回送IP

IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName()); 
foreach (IPAddress i in localIPs) 
{ 
    if (i.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork 
     && !IPAddress.isLoopback(i)) 
    { 
     txtIP.Text = i.ToString(); 
    } 
}