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();
}
答
此代码: 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)。它显示了如何遍历结果。 –
'Dns.GetHostName()'与客户端无关。 – CodeCaster
'string strHostName = System.Net.Dns.GetHostName(); IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName); IPAddress [] addr = ipEntry.AddressList;'在IPAddress阵列中,您可以同时获得IP的IPV4和IPV6 –