【问题标题】:How to get local IP address of Windows system?如何获取Windows系统的本地IP地址?
【发布时间】:2016-06-18 23:50:00
【问题描述】:

有没有获取本地系统IP地址的代码或方法?

【问题讨论】:

  • 这看起来不像c++代码,更像c#。
  • “大家好,我发现这些随机的 sn-ps 代码的语言名称都带有“C”。请帮助使其工作。”
  • @dlpsankhla 如果你之前对这些代码 sn-ps 进行了一些研究,应该很容易找到它们的 c++-cli 挂件。

标签: windows winapi ip-address


【解决方案1】:

要枚举本地 IP 地址,请使用 Win32 API GetAdaptersInfo()(仅支持 IPv4)或 GetAdaptersAddresses()(支持 IPv4 和 IPv6)函数。 C/C++ 示例包含在他们的文档中。

【讨论】:

    【解决方案2】:

    如果您使用 C#,则可以使用 .NET:

    using System;
    using System.Net;
    
    public static string GetLocalIP() {
      var hosts = Dns.GetHostEntry(Dns.GetHostName());
      foreach (var ipEntry in host.AddressList)
      {
        if (ipEntry.AddressFamily == AddressFamily.InterNetwork)
        {
          return ip.ToString();
        }
      }
    }
    

    您可以稍后在末尾添加throw new Exception,如果您没有安装 IPv4 适配器,它将显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多