INETADDRESS CLASS
Класс inetAdress используется для инкапсуляции цифрового IP -адреса и доменного имени адреса, который мы обсуждали ранее.
Вы взаимодействуете с этим классом через IP -имя хоста, которое проще и проще для понимания, чем его IP -адрес.
Номер адреса скрыт внутри класса InetAddress.
Фабричный метод в классе inetAdress
Класс inetadress не имеет очевидного конструктора. Чтобы создать объект InetAddress, необходимо использовать доступный фабричный метод.
Фабричный метод - это просто соглашение для статического метода в классе, чтобы вернуть экземпляр этого класса.
Для inetAddress три метода: getLocalhost (), getbyname () и getallbyname () можно использовать для создания экземпляра inetAdress.
getLocalhost () возвращает только объект inetAddress, который символизирует локальный хост.
Местный адрес также является Localhost, 127.0.0.1, и эти три адреса одинаковы.
Метод getByName () возвращает inetAddress, переданный его имени хоста.
Если эти методы не могут разрешить имена хостов, они повышают исключение по неизвестному хостексации.
В Интернете часто используется одно имя для представления нескольких машин.
Метод Factory GetallbyName () возвращает массив класса inetAddresses, представляющих все адреса, разложенные специальным именем.
Когда имя не может быть разложено как минимум на один адрес, оно поднимет неизвестное исключение по выходе.
Пример программы
InetAddressTest01
пакет com.example.network; import java.net.inetadress; открытый класс inetaddresstest01 {public static void main (string [] args) выбрасывает исключение {inetaddress address = inetaddress.getlocalhost (); /Вывод: Имя машины/IP-адрес // Например, username-pc/10.4.16.131 // Получить IP-адрес с помощью доменного имени = inetaddress.getbyname ("www.sohu.com"); (Адрес); Используйте класс InetAddress, чтобы определить специальные IP -адреса
IP -адреса разделены на обычные адреса и специальные адреса. Большинство предыдущих статей являются обычными IP -адресами.
1. Метод Исанилокаладдресса
Верните True, когда IP -адрес является адресом подстановочного знака, в противном случае он возвращает false. Использование адресов подстановочных знаков позволяет клиентским подключениям из любого сетевого интерфейса быть принятым на хосту сервера. Адрес подстановочного знака IPv4 составляет 0,0.0.0. ::.
2. Метод Isloopbackaddress
Возврат true, когда IP -адрес является адресом Loopback, в противном случае возврат адрес false.loopback представляет IP -адрес машины. Диапазон адреса петли IPv4 составляет 127.0.0.0 ~ 127.255.255.255.255. Например, 127.1.2.3 и 127.0.200.200 являются адресами петли. Адрес Loopback IPv6 составляет 0: 0: 0: 0: 0: 0: 0: 0: 1, или он может быть сокращена как :: 1. Как показано в следующей командной строке:
Ping 127.200.200.200
Результаты работы:
Ответ от 127.0.0.1: байты = 32 Время <1MS TTL = 128 (Примечание: 127.200.200.200 под Win7) Ответ от 127.0.0.1: байты = 32 Время <1M Ttl = 128Reply от 127,0,0,1: байты = 32 времени <1ms ttl = 128-й статистика для 127,200,200,200: пакеты: отправлено = 4, получен = 4, потерянные = 0 (0% Секунды: минимум = 0 мс, максимум = 0 мс, среднее = 0 мс
Хотя 127.255.255.255 также является адресом петлю, 127.255.255.255 нельзя пропитывать под окнами. Это связано с тем, что 127.255.255.255 является адресом вещания.
III
Вернуть True Когда IP -адрес является локальным адресом подключения (Linklocaladdress), в противном случае диапазон локального адреса подключения IPv4 составляет 169.254.0.0 ~ 169.254.255.255. Биты могут это произвольное значение, например, Fe88: и Fe80 :: ABCD :: Все локальные адреса соединения.
IV
Вернуть True, когда IP -адрес является локальным адресом региона (sitelocaladdress), в противном случае адрес адреса, который возвращает false.ipv4, разделен на три сегмента: 10.0.0.0 ~ 10.255.255.255, 172.16.0.0 ~ 172.31.255.255, 192.168.0.0 ~ 192 .168.
5. Метод IsmulticastAddress
Верните True Когда IP -адрес является трансляционным адресом (MulticastAddress), в противном случае он возвращает FALSE. Диапазон вещательного адреса IPv4 составляет 224,0.0.0 ~ 239.255.255.255.255.255. Подробная информация об адресах вещания будет обсуждаться в будущих главах.
6. Ismcglobal Метод
Вернуть True, когда IP -адрес является глобальным трансляционным адресом, в противном случае он возвращает False. Адрес трансляции IPv4 - это глобальный трансляционный адрес, за исключением IP -адреса 224.0.0.0, а первый байт - 239. Первым байтом в глобальном радиовещательном адресе IPv6 является FF, второй байт - 0E ~ Fe, а другие байты могут быть любым значением, например, FFBE :: и FF0E :: Все глобально вещание.
7. Ismclinklocal метод
Верните True, когда IP -адрес является адресом вещания подсети, в противном случае он возвращает FALSE. Диапазон передачи подсети IPv4 составляет 224.0.0.0 ~ 224.0.0.255. :: и FF02: ABCD :: Все адреса передачи подсети.
8. ISMCNODELOCAL Метод
Вернуть True Когда IP -адрес является локальным интерфейсом, трансляционным адресом, в противном случае он возвращает FALSE. Все трансляционные адреса IPv4 не являются локальными адресами вещания интерфейса. Первым байтом локального интерфейса трансляционного адреса IPv6 является FF, диапазон второго байта составляет 01 ~ F1, а другие байты могут быть любым значением, например, FFB1 :: и FF01: A123 :: Все локальные интерфейсы. В трансляционном адресе.
9. Ismcorglocal Method
Возвращает TURE, когда IP-адрес является широковещательным адресом, в противном случае он возвращает FALSE. Первый байт широковещательного адреса общенациональной трансляции IPv4 составляет 239, второй байт составляет не менее 192, а третий байт не превышает 195. адреса. Первым байтом широковещательного адреса широковещательной системы IPv6 является FF, диапазон второго байта составляет 08 ~ F8, а другие байты могут быть любыми значениями, такими как FF08 :: и FF48 :: Все трансляции в организации . адрес.
10. ISMCSITeLocal Метод
Верните True Когда IP-адрес является широковещательным адресом, в противном случае False. Диапазон широковещательного адреса IPv4 составляет 239,255.0.0 ~ 239.255.255.255.255. Первым байтом широковещательного адреса IPv6 является FF, диапазон второго байта составляет 05 ~ F5, а другие байты могут быть любым значением, например, FF05 :: и FF45 :: Все трансляции по всему сайту. адрес.
Следующий код может определить, находится ли IP -адрес в диапазоне вышеуказанных типов адресов:
Пакет Тест; Импорт java.net.*; импортировать java.lang.reflect.*; открытый класс mynet {public static void main (string [] args) бросает исключение {if (ar gsle == 0) return; = InetAddress.getbyName (args [0]); Matches ("is.*") && method.getParameterTyPes (). ) + "= true"); Тест 1
Выполнить следующую команду:
Java test.mynet 224.0.0.1
Результаты работы:
ismclinklocal = trueIsmulticAstAddress = true
Тест 2
Выполнить следующую команду:
Java test.mynet ffb1 ::
Результаты работы:
ismcnodelocal = true ismulticastaddress = true