获取本地主机IP地址[重复]
Posted
技术标签:
【中文标题】获取本地主机IP地址[重复]【英文标题】:Getting local host Ip Address [duplicate] 【发布时间】:2014-06-01 11:23:43 【问题描述】:public static string GetLocalIpAddress()
string hostName = Dns.GetHostName();
IPHostEntry ip = Dns.GetHostEntry(hostName);
string IpAddress = Convert.ToString(ip.AddressList[2]);
return IpAddress.ToString();
这有时会显示 Index out of bound 异常 应该是什么问题。? 提前致谢
【问题讨论】:
ip.AddressList[2]。您需要检查列表中有多少元素。 发生错误是因为数组索引2 > ip.AddressList.Length 【参考方案1】:试试这个方法,对我有用。
public static string GetIPAddress()
IPHostEntry host;
string localIP = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
if (ip.AddressFamily == AddressFamily.InterNetwork)
localIP = ip.ToString();
return localIP;
谢谢,
【讨论】:
【参考方案2】:foreach (var addr in Dns.GetHostEntry(string.Empty).AddressList)
if (addr.AddressFamily == AddressFamily.InterNetwork)
Console.WriteLine("IPv4 Address: 0", addr)
【讨论】:
【参考方案3】:正如他们之前回答的那样。您应该检查地址列表上的长度。因为它并不总是 2。
这里有关于 *** 的另一个答案: Getting valid IP from IPHostEntry
【讨论】:
以上是关于获取本地主机IP地址[重复]的主要内容,如果未能解决你的问题,请参考以下文章