C#asp.net获取客户端的ipv4 ip地址

问题描述:

我的下面的代码是获取ivp6 ip地址我不知道如何以相同的方式获得ipv4。C#asp.net获取客户端的ipv4 ip地址

string ipAddress = ""; 
      if (Dns.GetHostAddresses(Dns.GetHostName()).Length > 0) 
      { 
       ipAddress = Dns.GetHostAddresses(Dns.GetHostName())[0].ToString(); 
      } 
+2

'Dns.GetHostName()'与客户端无关。 – CodeCaster

+0

'string strHostName = System.Net.Dns.GetHostName(); IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName); IPAddress [] addr = ipEntry.AddressList;'在IPAddress阵列中,您可以同时获得IP的IPV4和IPV6 –

此代码: Dns.GetHostAddresses(Dns.GetHostName())

将返回分配到本地机器的所有IP地址的数组。当您分配给ipAddress变量时,您使用的是“[0]”,它仅占用列表中的第一个IP地址。

看看整个阵列,你可能会发现你确实也在获取IPv4地址。

+0

感谢您分享我们的知识,但如何做到这一点不知道 – Shaik

+0

看看[GetHostAddresses ](https://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses(v = vs.110)的.aspx)。它显示了如何遍历结果。 –