Для реализации процесса получения IP-адреса по имени хоста необходимо воспользоваться пространством имен «System.Net», которое предоставляет простой программный интерфейс для многих протоколов, используемых в современных сетях. Пространства имен «System.Net» содержат классы, обеспечивающие простой интерфейс программирования для различных сетевых протоколов, определяющие политики кэширования веб-ресурсов, а также порядок создания и отправки сообщений электронной почты, представляющие заголовки MIME, обеспечивающие доступ к данным о трафике и сетевых адресах, а также доступ к функции одноранговых сетей. Дополнительные дочерние пространства имен обеспечивают управляемую реализацию интерфейса Windows Sockets (Winsock) и доступ к сетевым потокам для защиты обмена данными между узлами.
В следующем примере кода показано использование метода «GetHostAddresses», для получения IP-адреса по имени хоста.
В следующем примере кода показано использование метода «GetHostEntry», для получения имени хоста по IP-адресу.
Дополнительную информацию по данному пространству имен вы можете получить по следующему адресу: https://msdn.microsoft.com.
В пространстве имен «System.Net» присутствует класс «DNS» с методом «GetHostAddresses», данный метод запрашивает у DNS-сервера IP-адреса, связанные с именем узла. Если «hostNameOrAddress» является IP-адресом, этот адрес возвращается без запроса DNS-сервера. Если в качестве имени узла передается пустая строка, этот метод возвращает IPv4-адреса локального узла для всех операционных систем, кроме Windows Server 2003; при использовании ОС Windows Server 2003 возвращаются и IPv4- и IPv6-адреса локального компьютера.В следующем примере кода показано использование метода «GetHostAddresses», для получения IP-адреса по имени хоста.
System.Net.IPAddress[] ips; ips = System.Net.Dns.GetHostAddresses(textBox1.Text); foreach (System.Net.IPAddress ip in ips) { textBox2.Text = ip.ToString(); }Если вы хотите выполнить обратную процедуру, то можете воспользоваться методом «GetHostEntry», из этого же класса. Метод запрашивает у DNS-сервера IP-адреса и псевдонимы, связанные с IP-адресом и возвращает экземпляр «IPHostEntry», содержащий сведения об адресе. Данный экземпляр содержит три параметра:
- «AddressList» - список IP-адресов, связанных с узлом.
- «Aliases» - список псевдонимов, связанных с узлом.
- «HostName» - DNS-имя узла.
В следующем примере кода показано использование метода «GetHostEntry», для получения имени хоста по IP-адресу.
System.Net.IPAddress addr = System.Net.IPAddress.Parse(textBox1.Text); System.Net.IPHostEntry entry = System.Net.Dns.GetHostEntry(addr); textBox2.Text = entry.HostName;
Ссылка для скачивания примера: Яндекс.Диск
Комментариев нет:
Отправить комментарий
Большая просьба, не писать в комментариях всякую ерунду не по теме!