我的下面的代碼是獲取ivp6 ip地址我不知道如何以相同的方式獲得ipv4。C#asp.net獲取客戶端的ipv4 ip地址
string ipAddress = "";
if (Dns.GetHostAddresses(Dns.GetHostName()).Length > 0)
{
ipAddress = Dns.GetHostAddresses(Dns.GetHostName())[0].ToString();
}
我的下面的代碼是獲取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地址。
感謝您分享我們的知識,但如何做到這一點不知道 – Shaik
看看[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 –