繁体   English   中英

如何在.Net中获得正确的LAN IP(不包括vmware适配器等)

[英]How to get correct LAN IP in .Net (excluding vmware adapters, etc.)

我需要一个程序来确定其LAN IP,其他LAN客户端将使用该程序来识别它。 我发现的.Net代码返回所有IP地址,包括回送和VMWare接口,因此我获得了C类IP列表。

我已经读过:

查找Dns.GetHostEntry返回的正确IP地址

在C#中使用Dns.GetHostEntry获取服务器IP

从局域网中的主机名获取IP地址

Dns.GetHostEntry返回多个IP地址

返回所有适配器(包括“正确的适配器”)以及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?

您可以使用与示例目标IP地址关联的UDP端点(如果需要默认路径,则不使用UDP端点),如此答案中所述:

https://stackoverflow.com/a/27376368/2557128

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM