我需要一个程序来确定其LAN IP,其他LAN客户端将使用该程序来识别它。我发现的.Net代码返回所有IP地址,包括回送和VMWare接口,因此我获得了C类IP的列表。
我已经通读了:
Find correct Ip address returned by Dns.GetHostEntry
Getting server ip using Dns.GetHostEntry in c#
Get IP address from hostname in LAN
Dns.GetHostEntry returns multiple IP addresses
返回所有适配器(包括“正确的一个”)以及VMWare适配器等的示例代码。
public string GetLanIP()
{
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;
}
我也尝试过创建到Internet服务器的UDP客户端,希望可以找到与之关联的LAN适配器,这样我就可以找到该适配器的IP地址,但是没有运气。
任何人都可以建议如何找到同一LAN上的其他计算机用来连接它的正确LAN IP吗?
答案 0 :(得分:0)
您可以使用与示例目标IP地址关联的UDP端点(或者,如果需要默认路径,则不使用该端点),如此答案中所述: