Карта между именами хостов и IP-адресами в C#

Когда вы вводите имя хоста и выбираете Go, программа использует следующий код для поиска хоста и отображения связанных с ним IP-адресов.

using System.Net;
...
// Отображение IP-адреса введенного хоста.
private void btnGo_Click(object sender, EventArgs e)
{
    this.Cursor = Cursors.WaitCursor;
    lstAddresses.Items.Clear();
    txtHost.Clear();
    try
    {
        IPHostEntry ip_host_entry =
            Dns.GetHostEntry(txtHost.Text);
        foreach (IPAddress address in ip_host_entry.AddressList)
        {
            lstAddresses.Items.Add(address.ToString());
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    this.Cursor = Cursors.Default;
}

Код очищает свой ListBox, а затем использует метод Dns.GetHostEntry для получения информации о хосте. Он перебирает коллекцию AddressList информации об объекте хоста IPAddress и добавляет IP-адреса в ListBox.

Когда вы выбираете запись в ListBox, следующий код отображает хост, назначенный для выбранного IP-адреса.

// Найдите хост выбранного IP-адреса.
private void lstAddresses_SelectedIndexChanged(
    object sender, EventArgs e)
{
    IPHostEntry ip_host_entry =
        Dns.GetHostEntry(lstAddresses.SelectedItem.ToString());
    txtRecoveredHost.Text = ip_host_entry.HostName;
}

Этот код использует метод Dns.GetHostEntry для получения информации об выбранном IP-адресе. Затем он отображает имя назначенного хоста.

Ранее эта программа вернула несколько IP-адресов для одного хоста. Например, loookup для maps.google.com может возвращать дюжину или более IP-адресов. Кажется, что текущая программа возвращает один адрес. Я подозреваю, что это изменение в Windows 10, но я не уверен. Если у вас есть дополнительная информация об этом, отправьте его в комментарии ниже.

Если вы посмотрите на хост localhost, программа перечисляет два специальных IP-адреса :: 1 и 127.0.0.1. Если вы нажмете любой из них в ListBox, программа отобразит имя вашего компьютера.

Источник: http://csharphelper.com/blog/2017/01/map-between-host-names-and-ip-addresses-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector