我想获取安装了 3 个虚拟机 (VM Ware) 的计算机的当前 IP 地址。我想获取该计算机的 LAN 地址。
我当前的代码返回一个数组,但如何识别当前计算机的 LAN 地址?
public static string getThisCompIPAddress()
{
IPAddress[] addresslist = Dns.GetHostAddresses(Dns.GetHostName());
return (addresslist[0].ToString());
}
addresslist 返回 3 个 IP 地址的数组
最佳答案
您可以尝试NetworkInterface类,并尝试匹配 LAN 连接的名称或物理地址以找出真实的。也许在此类及其成员中进行搜索,您可以找到适合您需求的内容。
这是一个提供一些使用信息的简单方法:
using System.Net.NetworkInformation;
...
static void ViewNetworkInfo()
{
NetworkInterface[] networks = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface nw in networks)
{
Console.WriteLine(nw.Name);
Console.WriteLine(nw.GetPhysicalAddress().ToString());
IPInterfaceProperties ipProps = nw.GetIPProperties();
foreach (UnicastIPAddressInformation ucip in ipProps.UnicastAddresses)
{
Console.WriteLine(ucip.Address.ToString());
}
Console.WriteLine();
}
Console.ReadKey();
}
关于c# - 安装了虚拟机的 C# 获取我的机器的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1599025/