【发布时间】:2016-02-26 13:33:56
【问题描述】:
我正在连接 LAN 网络中的所有系统名称。我不知道如何获取所有系统名称的 IP 地址,例如 (192.168.1.15)。
【问题讨论】:
我正在连接 LAN 网络中的所有系统名称。我不知道如何获取所有系统名称的 IP 地址,例如 (192.168.1.15)。
【问题讨论】:
这可能对你有用
foreach(NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
{
if(!ip.IsDnsEligible)
{
if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
// All IP Address in the LAN
}
}
}
}
此代码的唯一缺点是UnicastIPAddressInformation 实例返回的信息不适用于早于 Windows XP 的操作系统。
【讨论】:
如果您已经知道主机名(正如您的问题所暗示的那样),您可以使用 Dns.GetHostAddresses 方法将它们转换为 IP 地址。
【讨论】: