Класс NetworkInterface
- java.lang.Object
-
- java.net.NetworkInterface
public final class NetworkInterface extends Object
Этот класс представляет сетевой интерфейс, состоящий из имени и списка IP-адресов, назначенных этому интерфейсу. Он используется для идентификации локального интерфейса, к которому присоединена группа многоадресной рассылки. Интерфейсы обычно известны по именам, таким как "le0".
- С:
- 1.4
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object obj) Сравнивает этот объект со заданным объектом. |
static NetworkInterface |
getByIndex(int index) Получает сетевой интерфейс по его индексу. |
static NetworkInterface |
getByInetAddress(InetAddress addr) Удобный метод для поиска сетевого интерфейса, к которому привязан указанный IP-адрес. |
static NetworkInterface |
getByName(String name) Ищет сетевой интерфейс по заданному имени. |
String |
getDisplayName() Получает отображаемое имя этого сетевого интерфейса. |
byte[] |
getHardwareAddress() Возвращает физический адрес (обычно MAC) интерфейса, если он есть и доступен при текущих правах доступа. |
int |
getIndex() Возвращает индекс этого сетевого интерфейса. |
Enumeration<InetAddress> |
getInetAddresses() Удобный метод для возвращения перечисления со всеми или подмножеством InetAddresses, привязанных к этому сетевому интерфейсу. |
List<InterfaceAddress> |
getInterfaceAddresses() Получает список всех или подмножества |
int |
getMTU() Возвращает максимальную единицу передачи (MTU) этого интерфейса. |
String |
getName() Получает имя этого сетевого интерфейса. |
static Enumeration<NetworkInterface> |
getNetworkInterfaces() Возвращает все интерфейсы на этом компьютере. |
NetworkInterface |
getParent() Возвращает родительский NetworkInterface этого интерфейса, если это подсетевой интерфейс, или |
Enumeration<NetworkInterface> |
getSubInterfaces() Получает перечисление со всеми подсетевыми интерфейсами (также известными как виртуальные интерфейсы), подключенными к этому сетевому интерфейсу. |
int |
hashCode() Возвращает значение хэш-кода для объекта. |
boolean |
isLoopback() Возвращает, является ли сетевой интерфейс интерфейсом обратной связи. |
boolean |
isPointToPoint() Возвращает, является ли сетевой интерфейс интерфейсом точка-точка. |
boolean |
isUp() Возвращает, активен ли и работает ли сетевой интерфейс. |
boolean |
isVirtual() Возвращает, является ли этот интерфейс виртуальным интерфейсом (также называемым подсетевым интерфейсом). |
boolean |
supportsMulticast() Возвращает, поддерживает ли сетевой интерфейс многоадресную рассылку или нет. |
String |
toString() Возвращает строковое представление объекта. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы
getName
public String getName()
Получить имя этого сетевого интерфейса.
- Возвращает:
- имя этого сетевого интерфейса
getInetAddresses
public Enumeration<InetAddress> getInetAddresses()
Удобный метод для возвращения перечисления со всеми или подмножеством адресов InetAddress, привязанных к этому сетевому интерфейсу.
Если установлен менеджер безопасности, вызывается его метод checkConnect для каждого InetAddress. Только адреса InetAddress, для которых метод checkConnect не вызывает SecurityException, будут возвращены в перечислении. Однако, если у вызывающего есть разрешение NetPermission("getNetworkInformation"), то возвращаются все адреса InetAddress.
- Возвращает:
- объект перечисления со всеми или подмножеством адресов InetAddress, привязанных к этому сетевому интерфейсу
getInterfaceAddresses
public List<InterfaceAddress> getInterfaceAddresses()
Получить список всех или подмножества адресов InterfaceAddresses этого сетевого интерфейса.
Если установлен менеджер безопасности, его метод checkConnect вызывается с адресом InetAddress для каждого InterfaceAddress. Только InterfaceAddresses, для которых метод checkConnect не вызывает SecurityException, будут возвращены в списке.
- Возвращает:
- объект типа
Listсо всеми или подмножеством адресов InterfaceAddress этого сетевого интерфейса - С тех пор:
- 1.6
getSubInterfaces
public Enumeration<NetworkInterface> getSubInterfaces()
Получить перечисление всех подсетевых интерфейсов (также известных как виртуальные интерфейсы), подключенных к этому сетевому интерфейсу.
Например, eth0:1 будет подсетевым интерфейсом для eth0.
- Возвращает:
- объект перечисления со всеми подсетевыми интерфейсами этого сетевого интерфейса
- С тех пор:
- 1.6
getParent
public NetworkInterface getParent()
Возвращает родительский сетевой интерфейс NetworkInterface этого интерфейса, если это подсетевой интерфейс, или null если это физический (не виртуальный) интерфейс или у него нет родителя.
- Возвращает:
- Родительский сетевой интерфейс, к которому подключен этот интерфейс.
- С тех пор:
- 1.6
getIndex
public int getIndex()
Возвращает индекс этого сетевого интерфейса. Индекс — целое число, большее или равное нулю, или -1 для неизвестного значения. Это значение зависит от системы, и интерфейсы с одинаковым именем могут иметь разные индексы на разных машинах.
- Возвращает:
- индекс этого сетевого интерфейса или
-1если индекс неизвестен - С тех пор:
- 1.7
- См. также:
getByIndex(int)
getDisplayName
public String getDisplayName()
Получить имя для отображения этого сетевого интерфейса. Имя для отображения — это читаемая человеком строка, описывающая сетевое устройство.
- Возвращает:
- непустая строка, представляющая имя для отображения этого сетевого интерфейса, или null, если имя для отображения недоступно.
getByName
public static NetworkInterface getByName(String name)
throws SocketException Ищет сетевой интерфейс с указанным именем.
- Параметры:
-
name- Имя сетевого интерфейса. - Возвращает:
- сетевой интерфейс NetworkInterface с указанным именем или
nullесли сетевого интерфейса с указанным именем нет. - Выбрасывает:
-
SocketException- Если произошла ошибка ввода-вывода. -
NullPointerException- Если указанное имяnull.
getByIndex
public static NetworkInterface getByIndex(int index)
throws SocketException Получить сетевой интерфейс по его индексу.
- Параметры:
-
index- целое число, индекс интерфейса - Возвращает:
- сетевой интерфейс NetworkInterface, полученный по его индексу, или
nullесли в системе нет интерфейса с таким индексом - Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода. -
IllegalArgumentException- если индекс имеет отрицательное значение - С тех пор:
- 1.7
- См. также:
getIndex()
getByInetAddress
public static NetworkInterface getByInetAddress(InetAddress addr)
throws SocketException Удобный метод для поиска сетевого интерфейса, которому привязан указанный IP-адрес.
Если указанный IP-адрес привязан к нескольким сетевым интерфейсам, не определено, какой сетевой интерфейс будет возвращен.
- Параметры:
-
addr- IP-адрес для поиска. - Возвращает:
- сетевой интерфейс NetworkInterface или
nullесли сетевого интерфейса с указанным IP-адресом нет. - Выбрасывает:
-
SocketException- Если произошла ошибка ввода-вывода. -
NullPointerException- Если указанный адресnull.
getNetworkInterfaces
public static Enumeration<NetworkInterface> getNetworkInterfaces()
throws SocketException Возвращает все интерфейсы на этом компьютере. Перечисление Enumeration содержит как минимум один элемент, возможно, представляющий интерфейс обратной связи, который поддерживает только общение между объектами на этом компьютере. ЗАМЕЧАНИЕ: можно использовать getNetworkInterfaces()+getInetAddresses() для получения всех IP-адресов для этого узла
- Возвращает:
- перечисление сетевых интерфейсов NetworkInterfaces, найденных на этом компьютере
- Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода.
isUp
public boolean isUp()
throws SocketException Возвращает, включён ли сетевой интерфейс и работает ли он.
- Возвращает:
-
trueесли интерфейс включен и работает. - Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода. - С тех пор:
- 1.6
isLoopback
public boolean isLoopback()
throws SocketException Возвращает, является ли сетевой интерфейс интерфейсом обратной связи.
- Возвращает:
-
trueесли интерфейс является интерфейсом обратной связи. - Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода. - С тех пор:
- 1.6
isPointToPoint
public boolean isPointToPoint()
throws SocketException Возвращает, является ли сетевой интерфейс точечно-точечным интерфейсом. Типичный точечно-точечный интерфейс — это подключение PPP через модем.
- Возвращает:
-
trueесли интерфейс является точечно-точечным интерфейсом. - Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода. - С тех пор:
- 1.6
supportsMulticast
public boolean supportsMulticast()
throws SocketException Возвращает, поддерживает ли сетевой интерфейс многоадресную рассылку.
- Возвращает:
-
trueесли интерфейс поддерживает многоадресную рассылку. - Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода. - С тех пор:
- 1.6
getHardwareAddress
public byte[] getHardwareAddress()
throws SocketException Возвращает физический адрес (обычно MAC) интерфейса, если он есть и доступен при текущих правах. Если установлен менеджер безопасности, то у вызывающего должен быть разрешение NetPermission("getNetworkInformation").
- Возвращает:
- массив байтов, содержащий адрес, или
nullесли адрес не существует, недоступен, или если установлен менеджер безопасности, и у вызывающего нет разрешения NetPermission("getNetworkInformation") - Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода. - С тех пор:
- 1.6
getMTU
public int getMTU()
throws SocketException Возвращает максимальное значение MTU (Maximum Transmission Unit) для этого интерфейса.
- Возвращает:
- значение MTU для данного интерфейса.
- Выбрасывает:
-
SocketException- если произошла ошибка ввода-вывода. - С тех пор:
- 1.6
isVirtual
public boolean isVirtual()
Возвращает, является ли этот интерфейс виртуальным интерфейсом (также называемым подсетевым интерфейсом). Виртуальные интерфейсы на некоторых системах — это интерфейсы, созданные как дочерние по отношению к физическому интерфейсу и получившие различные настройки (например, адрес или MTU). Обычно имя интерфейса будет именем родительского интерфейса, за которым следует двоеточие (:) и число, идентифицирующее дочерний интерфейс, поскольку к одному физическому интерфейсу может быть подключено несколько виртуальных интерфейсов.
- Возвращает:
-
trueесли этот интерфейс является виртуальным интерфейсом. - С тех пор:
- 1.6
equals
public boolean equals(Object obj)
Сравнивает этот объект с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не null и он представляет тот же сетевой интерфейс, что и этот объект.
Два экземпляра NetworkInterface представляют один и тот же сетевой интерфейс, если и имя, и адреса одинаковы для обоих.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект для сравнения. - Возвращает:
-
trueесли объекты одинаковы;falseв противном случае. - См. также:
InetAddress.getAddress()
hashCode
public int hashCode()
Описание скопировано из класса: Object
Возвращает значение хэш-кода для объекта. Этот метод поддерживается для удобства хэш-таблиц, таких как предоставляемые HashMap.
Общий контракт метода hashCode:
- Всякий раз, когда он вызывается для одного и того же объекта более одного раза во время выполнения Java-приложения, метод
hashCodeдолжен последовательно возвращать то же целое число, при условии, что информация, используемая в методахequalsсравнения для объекта, не изменяется. Это целое число не обязательно должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения. - Если два объекта равны согласно методу
equals(Object), то вызов методаhashCodeдля каждого из этих двух объектов должен возвращать одно и то же целое число. - Не требуется, чтобы, если два объекта не равны согласно методу
Object.equals(java.lang.Object), то вызов методаhashCodeдля каждого из этих двух объектов должен возвращать разные целые числа. Однако программист должен знать, что получение разных целых чисел для неравных объектов может улучшить производительность хэш-таблиц.
По возможности, метод hashCode, определенный классом Object возвращает разные целые числа для разных объектов. (Этот метод обычно реализуется путем преобразования внутреннего адреса объекта в целое число, но эта техника реализации не требуется языком программирования Java™.)
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Описание скопировано из класса: Object
Возвращает строковое представление объекта. В общем случае, метод toString возвращает строку, которая "текстово представляет" этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком. Рекомендуется, чтобы все подклассы переопределяли этот метод.
Метод toString для класса Object возвращает строку, состоящую из имени класса, экземпляром которого является объект, символа `@', и неозначенного шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:
getClass().getName() + '@' + Integer.toHexString(hashCode())
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.