Программирования сетевых взаимодействий в Java. Сухов С.А. - 7 стр.

UptoLike

Составители: 

7
Метод-фабрика getAllByName() возвращает массив InetAddress,
представляющий все адреса, в которые преобразуется конкретное имя. Он
также возбуждает исключение UnknownHostException в случае, если не может
преобразовать имя в хотя бы один адрес.
InetAddress также включает фабричный метод getByAddress(), который
принимает IP-адрес и возвращает объект InetAddress. Причем могут
использоваться как адреса IPv4, так и IPv6.
В следующем примере распечатываются адреса и имена локальной
машины, а также двух широко известных Internet-сайтов.
// Демонстрация применения InetAddress.
package iad;
import java.net.*;
class iad
{
public static void main(String args[]) throws UnknownHostException {
InetAddress Address = InetAddress.getLocalHost();
System.out.println(Address);
Address = InetAddress.getByName("ulstu.ru");
System.out.println(Address);
InetAddress SW[] = InetAddress.getAllByName("www.microsoft.com");
for (int i=0; i<SW.length; i++)
System.out.println(SW[i]);
}
}
Ниже показан вывод, сгенерированный этой программой (вывод, который
вы увидите на своем компьютере, может несколько отличаться).
home/10.250.0.172
ulstu.ru/62.76.34.54
www.microsoft.com/65.55.21.250
Поиск Интернет-адресов осуществляется в серии иерархических
каптированных служб. Это значит, что ваш локальный компьютер может
получить определенное отображение имени на IP-адрес автоматически как для
себя, так и для ближайших серверов. Для всех прочих имен он может
обращаться к DNS-серверам, откуда получит информацию об IP-адресах. Если
такой сервер не имеет информации об определенном адресе, он может обра-
титься к следующему удаленному сайту и запросить эту информацию у него.
Это может продолжаться вплоть до корневого сервера, и упомянутый процесс
может потребовать длительного времени, так что разумно построить структуру
вашего кода таким образом, чтобы информация об IP-адресах локально
кэшировалась, и ее не приходилось искать каждый раз заново.