通过硬编码所连接网络的IP地址,我能够在android和PC之间实现Wi-fi通信。但是我需要获取连接到Wi-Fi网络的系统的IP地址。 Iam使用C#在Windows平台上工作。因此,请在这方面帮助我。

最佳答案

这可能对您有用:

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();

关于c# - 获取wifi连接系统的IP地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9487452/

10-12 13:16