获取wifi连接系统的IP地址

本文关键字:IP 地址 系统 wifi 连接 获取 | 更新日期: 2023-09-27 18:26:07

我能够通过硬编码连接的网络的IP地址来实现android和PC之间的Wi-fi通信。但我需要获得连接到wi-fi网络的系统的IP地址。我正在使用C#在windows平台上工作。所以请在这方面帮助我。

获取wifi连接系统的IP地址

这可能对您有用:

string[] strIP = null;
int count = 0;
IPHostEntry HostEntry = Dns.GetHostEntry((Dns.GetHostName()));
if (HostEntry.AddressList.Length > 0)
{
    strIP = new string[HostEntry.AddressList.Length];
    foreach (IPAddress ip in HostEntry.AddressList)
    {
        if (ip.AddressFamily == AddressFamily.InterNetwork)
        {
            strIP[count] = ip.ToString();
            count++;
        }
    }
}

问题是,主机可能有许多IP地址。这就是为什么要使用字符串数组,它会收集所有的字符串。

--由L.B编辑--

这是上面代码的工作版本

var addresses = Dns.GetHostEntry((Dns.GetHostName()))
                    .AddressList
                    .Where(x => x.AddressFamily == AddressFamily.InterNetwork)
                    .Select(x => x.ToString())
                    .ToArray();

对于UWP,使用它来获取本地Ip地址。根据@L.B.的回答更新

var addresses = Dns.GetHostEntryAsync((Dns.GetHostName()))
                .Result
                .AddressList
                .Where(x => x.AddressFamily == AddressFamily.InterNetwork)
                .Select(x => x.ToString())
                .ToArray();