Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
1.2. Класс InetAddressКласс InetAddress используется для инкапсуляции как числового IP-адреса, так и доменного имени для этого адреса. Взаимодействие осуществляется с классом, используя имя IP-хоста. Класс InetAddress может работать как с адресами IPv4, так и с IPv6.
Класс InetAddress не имеет конструкторов. Чтобы создать объект InetAddress, вы должны использовать один из доступных методов-фабрик. Методы-фабрики (factory method) - это просто соглашение, в соответствии с которым статические методы класса возвращают экземпляр этого класса. Это делается вместо перегрузки конструктора с различными списками параметров, когда наличие уникальных имен методов делает результат более ясным. Ниже приведены три часто используемых метода-фабрики InetAddress. static InetAddress getLocalHost() static InetAddress getByName(String hostName) static InetAddress[] getAllByName(String hostName) Метод getLocalHost() просто возвращает объект InetAddress, представляющий локальный хост. Метод getByName() возвращает InetAddress хоста, чье имя ему передано. Если эти методы оказываются не в состоянии получить имя хоста, они возбуждают исключение UnknownHostException. Метод-фабрика 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-адресах локально кэшировалась, и ее не приходилось искать каждый раз заново. Основные методы класса InetAddress boolean equals(Object other). Возвращает true, если объект имеет тот же адрес Интернет, что и other. byte[] getAddress(). Возвращает байтовый массив, представляющий IP-адрес в порядке байт сети. String getHostAddress(). Возвращает строку, представляющую адрес хоста, ассоциированного с объектом InetAddress. String getHostName(). Возвращает строку, представляющую имя хоста, ассоциированного с объектом InetAddress. boolean isMulticastAddress(). Возвращает true, если адрес является групповым, в противном случае возвращает false. String toString(). Возвращает строку, включающую имя хоста и IP-адрес для удобства.
|
1 |
Оглавление
|