Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class Inet6Address extends InetAddress
Привилегированная форма является x:x:x:x:x:x:x:x, где 'x's является шестнадцатеричными значениями восьми 16-разрядных частей адреса. Это - полная форма. Например,
1080:0:0:0:8:800:200C:417A
Отметьте, что не необходимо записать начальные нули в отдельном поле. Однако, должна быть по крайней мере одна цифра в каждом поле, за исключением описанного ниже.
Из-за некоторых методов выделения определенных стилей адресов IPv6, адресам будет свойственно содержать длинные строки нулевых битов. Чтобы сделать адреса записи, содержащие нулевые биты легче, специальный синтаксис доступен, чтобы сжать нули. Использование "::" указывает на многократные группы 16 битов нулей. "::" может только появиться однажды в адресе. "::" может также использоваться, чтобы сжать начальные и/или конечные нули в адресе. Например,
1080::8:800:200C:417A
Альтернативная форма, которая иногда более удобна, имея дело со смешанной средой IPv4 и узлов IPv6, является x:x:x:x:x:x:d.d.d.d, где 'x's является шестнадцатеричными значениями шести старших разрядов 16-разрядные части адреса, и 'd's является десятичными значениями четырех младших разрядов 8-разрядные части стандартного адреса представления IPv4, например,
::FFFF:129.144.52.38 ::129.144.52.38
где ":: FFFF:d.d.d.d" и ":: d.d.d.d" являются, соответственно, общими формами отображенного на IPv4 адреса IPv6 и совместимого с IPv4 адреса IPv6. Отметьте, что часть IPv4 должна быть в форме "d.d.d.d". Следующие формы недопустимы:
::FFFF:d.d.d ::FFFF:d.d ::d.d.d ::d.d
Следующая форма:
::FFFF:d
допустимо, однако это - нетрадиционное представление совместимого с IPv4 адреса IPv6,
::255.255.0.d
в то время как ":: d" соответствует общему адресу IPv6 "0:0:0:0:0:0:0:d".
Для методов, которые возвращают текстовое представление как выходное значение, используется полная форма. Inet6Address возвратит полную форму, потому что это однозначно когда использующийся в комбинации с другими текстовыми данными.
Отображенный на IPv4 адрес Из формы:: ffff:w.x.y.z, этот адрес IPv6 используется, чтобы представить адрес IPv4. Это позволяет собственной программе использовать ту же самую структуру данных адреса и также тот же самый сокет, связываясь и с IPv4 и с узлами IPv6. В InetAddress и Inet6Address, это используется для внутреннего представления; у этого нет никакой функциональной роли. Java никогда не будет возвращать отображенный на IPv4 адрес. Эти классы могут взять отображенный на IPv4 адрес как входной, и в байтовом массиве и в текстовом представлении. Однако, это будет преобразовано в адрес IPv4.
Текстовое представление адресов IPv6 как описано выше может быть расширено, чтобы определить IPv6 определяющие контекст адреса. Это расширение основной архитектуры адресации описывается в [draft-ietf-ipngwg-scoping-arch-04.txt].
Поскольку локальные для ссылки и локальные для сайта адреса являются неглобальной переменной, возможно, что различные узлы могут иметь тот же самый адрес получателя и могут быть достижимыми через различные интерфейсы на той же самой инициирующей системе. В этом случае инициирующая система, как говорят, соединяется с многократными зонами того же самого контекста. Чтобы снять неоднозначность, который является намеченной целевой зоной, возможно добавить зональный идентификатор (или scope_id) к адресу IPv6.
Общий формат для того, чтобы определить scope_id является следующим:
IPv6-address%scope_id
Адресным IPv6 является литеральный адрес IPv6 как описано выше. scope_id обращается к интерфейсу на локальной системе, и это может быть определено двумя способами.
NetworkInterface.getName()
для определенного рассматриваемого интерфейса. Когда Inet6Address создается таким образом, числовой идентификатор контекста определяется в то время, когда объект создается, запрашивая соответствующий NetworkInterface.Отметьте также, что числовой scope_id может быть получен от экземпляров Inet6Address, возвращенных из NetworkInterface class. Это может использоваться, чтобы узнать текущие идентификаторы контекста, сконфигурированные на системе.
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Сравнивает этот объект с указанным объектом.
|
byte[] |
getAddress()
Возвращает необработанный IP-адрес этого
InetAddress объект. |
static Inet6Address |
getByAddress(String host, byte[] addr, int scope_id)
Создайте Inet6Address точным способом
InetAddress.getByAddress(String,byte[]) за исключением того, что IPv6 scope_id устанавливается в данное числовое значение. |
static Inet6Address |
getByAddress(String host, byte[] addr, NetworkInterface nif)
Создайте Inet6Address точным способом
InetAddress.getByAddress(String,byte[]) за исключением того, что IPv6 scope_id устанавливается в значение, соответствующее данному интерфейсу для типа адреса, определенного в addr . |
Строка |
getHostAddress()
Возвращает строку IP-адреса в текстовом представлении.
|
NetworkInterface |
getScopedInterface()
Возвращает определяющий контекст интерфейс, если этот экземпляр создавался с с определяющим контекст интерфейсом.
|
int |
getScopeId()
Возвращает числовой scopeId, если этот экземпляр связывается с интерфейсом.
|
int |
hashCode()
Возвращает хэш-код для этого IP-адреса.
|
boolean |
isAnyLocalAddress()
Служебная подпрограмма, чтобы проверить, если InetAddress в подстановочный адрес.
|
boolean |
isIPv4CompatibleAddress()
Служебная подпрограмма, чтобы проверить, является ли InetAddress IPv4 совместимый адрес IPv6.
|
boolean |
isLinkLocalAddress()
Служебная подпрограмма, чтобы проверить, является ли InetAddress ссылкой локальный адрес.
|
boolean |
isLoopbackAddress()
Служебная подпрограмма, чтобы проверить, является ли InetAddress петлевым адресом.
|
boolean |
isMCGlobal()
Служебная подпрограмма, чтобы проверить, есть ли у многоадресного адреса глобальная область видимости.
|
boolean |
isMCLinkLocal()
Служебная подпрограмма, чтобы проверить, есть ли у многоадресного адреса контекст ссылки.
|
boolean |
isMCNodeLocal()
Служебная подпрограмма, чтобы проверить, есть ли у многоадресного адреса контекст узла.
|
boolean |
isMCOrgLocal()
Служебная подпрограмма, чтобы проверить, есть ли у многоадресного адреса организационный контекст.
|
boolean |
isMCSiteLocal()
Служебная подпрограмма, чтобы проверить, есть ли у многоадресного адреса контекст сайта.
|
boolean |
isMulticastAddress()
Служебная подпрограмма, чтобы проверить, является ли InetAddress многоадресным адресом IP.
|
boolean |
isSiteLocalAddress()
Служебная подпрограмма, чтобы проверить, является ли InetAddress сайтом локальный адрес.
|
getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostName, getLocalHost, getLoopbackAddress, isReachable, isReachable, toString
public static Inet6Address getByAddress(String host, byte[] addr, NetworkInterface nif) throws UnknownHostException
InetAddress.getByAddress(String,byte[])
за исключением того, что IPv6 scope_id устанавливается в значение, соответствующее данному интерфейсу для типа адреса, определенного в addr
. Вызов перестанет работать с UnknownHostException, если данному интерфейсу не присвоят числовой scope_id для данного типа адреса (eg. локальный для ссылки или локальный для сайта). См. здесь для описания IPv6 определяющие контекст адреса.host
- указанный узелaddr
- необработанный IP-адрес в сетевом порядке байтовnif
- интерфейс этот адрес должен быть связан с.UnknownHostException
- если IP-адрес имеет недопустимую длину, или если интерфейсу не присваивали числовой scope_id для данного типа адреса.public static Inet6Address getByAddress(String host, byte[] addr, int scope_id) throws UnknownHostException
InetAddress.getByAddress(String,byte[])
за исключением того, что IPv6 scope_id устанавливается в данное числовое значение. scope_id не проверяется, чтобы определить, соответствует ли он какому-либо интерфейсу на системе. См. здесь для описания IPv6 определяющие контекст адреса.host
- указанный узелaddr
- необработанный IP-адрес в сетевом порядке байтовscope_id
- числовой scope_id для адреса.UnknownHostException
- если IP-адрес имеет недопустимую длину.public boolean isMulticastAddress()
isMulticastAddress
в class InetAddress
boolean
указание, является ли InetAddress многоадресным адресом IPpublic boolean isAnyLocalAddress()
isAnyLocalAddress
в class InetAddress
boolean
указание, является ли Inetaddress подстановочным адресом.public boolean isLoopbackAddress()
isLoopbackAddress
в class InetAddress
boolean
указание, является ли InetAddress петлевым адресом; или ложь иначе.public boolean isLinkLocalAddress()
isLinkLocalAddress
в class InetAddress
boolean
указание, является ли InetAddress ссылкой локальный адрес; или ложь, если адрес не является ссылкой локальный одноадресный адрес.public boolean isSiteLocalAddress()
isSiteLocalAddress
в class InetAddress
boolean
указание, является ли InetAddress сайтом локальный адрес; или ложь, если адрес не является сайтом локальный одноадресный адрес.public boolean isMCGlobal()
isMCGlobal
в class InetAddress
boolean
указание, если адрес имеет, является многоадресным адресом глобальной области видимости, ложь, если это не имеет глобальной области видимости или это не многоадресный адресpublic boolean isMCNodeLocal()
isMCNodeLocal
в class InetAddress
boolean
указание, если адрес имеет, является многоадресным адресом локального для узла контекста, ложь, если это не имеет локального для узла контекста или это не многоадресный адресpublic boolean isMCLinkLocal()
isMCLinkLocal
в class InetAddress
boolean
указание, если адрес имеет, является многоадресным адресом локального для ссылки контекста, ложь, если это не имеет локального для ссылки контекста или это не многоадресный адресpublic boolean isMCSiteLocal()
isMCSiteLocal
в class InetAddress
boolean
указание, если адрес имеет, является многоадресным адресом локального для сайта контекста, ложь, если это не имеет локального для сайта контекста или это не многоадресный адресpublic boolean isMCOrgLocal()
isMCOrgLocal
в class InetAddress
boolean
указание, если адрес имеет, является многоадресным адресом локального для организации контекста, ложь, если это не имеет локального для организации контекста или это не многоадресный адресpublic byte[] getAddress()
InetAddress
объект. Результат находится в сетевом порядке байтов: самый высокий байт порядка адреса находится в getAddress()[0]
.getAddress
в class InetAddress
public int getScopeId()
public NetworkInterface getScopedInterface()
public String getHostAddress()
getHostAddress
в class InetAddress
public int hashCode()
hashCode
в class InetAddress
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
true
если и только если параметр не null
и это представляет тот же самый IP-адрес как этот объект. Два экземпляра InetAddress
представьте тот же самый IP-адрес если длина байтовых массивов, возвращенных getAddress
то же самое для обоих, и каждый из компонентов массива является тем же самым для байтовых массивов.
equals
в class InetAddress
obj
- объект сравниться с.true
если объекты являются тем же самым; false
иначе.InetAddress.getAddress()
public boolean isIPv4CompatibleAddress()
boolean
указание, является ли InetAddress IPv4 совместимый адрес IPv6; или ложь, если адрес является адресом IPv4.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92