【问题标题】:Get Ip Address WPF and C# Display Issue获取 IP 地址 WPF 和 C# 显示问题
【发布时间】:2015-08-12 00:33:19
【问题描述】:

当我运行这段代码时,任何人都知道为什么

            IPHostEntry
         IPHost = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
        foreach
         (var
         ipAddress in
         IPHost.AddressList)
        {

            IPlabel.Content = ipAddress;
        }

它以以下格式返回它:2001:1:9d39:6 ...?

我希望以 IPv4 格式获取此内容:xxx.xxx.xxx.xxx

不确定他们的帖子是否重复,我一直在寻找相当长的时间。我可能没有使用正确的搜索关键词

感谢您提供的任何帮助和帖子。

【问题讨论】:

  • 会不会是 IPv6 地址?
  • 这是一个全球 IPv6 地址。您无法将其作为 IPv4 地址获取。

标签: c# ip-address


【解决方案1】:

我相信这里已经回答了吗? Getting the ip-address

// return the first IPv4, non-dynamic/link-local, non-loopback address
public static IPAddress GetIPAddress()
{
    IPAddress[] hostAddresses = Dns.GetHostAddresses("");

    foreach (IPAddress hostAddress in hostAddresses)
    {
        if (hostAddress.AddressFamily == AddressFamily.InterNetwork &&
            !IPAddress.IsLoopback(hostAddress) &&  // ignore loopback addresses
            !hostAddress.ToString().StartsWith("169.254."))  // ignore link-local addresses
            return hostAddress;
    }
    return null; // or IPAddress.None if you prefer
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2014-11-26
    • 2010-11-04
    • 1970-01-01
    • 2021-09-25
    • 2011-01-28
    相关资源
    最近更新 更多