Получить IP-адрес Wi-Fi подключенной системы - PullRequest
1 голос
/ 28 февраля 2012

Я могу добиться Wi-Fi-связи между Android и ПК путем жесткого кодирования IP-адреса подключенной сети. Но мне нужно получить IP-адрес системы, подключенной к сети Wi-Fi. Я работаю на платформе Windows, используя C #. Поэтому, пожалуйста, помогите мне в этом.

Ответы [ 2 ]

4 голосов
/ 28 февраля 2012

Это может работать для вас:

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();
1 голос
/ 22 января 2017

Для UWP используйте это, чтобы получить ваш локальный IP-адрес.Обновлено на основе ответов @ LB

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