我正在运行一个服务器,我想显示我自己的IP地址。
获取计算机自己(如果可能的话,外部)IP 地址的语法是什么?
有人写了下面的代码。
IPHostEntry host;
string localIP = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
localIP = ip.ToString();
}
}
return localIP;
但是,我通常不信任作者,并且我不理解这段代码。有更好的方法吗?
不,这几乎是最好的方法。作为一台机器could有多个 IP 地址,您需要迭代它们的集合才能找到正确的 IP 地址。
Edit:我唯一的事would改变就是改变这个:
if (ip.AddressFamily.ToString() == "InterNetwork")
to this:
if (ip.AddressFamily == AddressFamily.InterNetwork)
没有必要ToString
用于比较的枚举。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)