Spec-Zone.ru › OpenJDK 27

Класс MembershipKey

java.lang.Object
java.nio.channels.MembershipKey
public abstract class MembershipKey extends Object
Токен, представляющий членство в группе многоадресной рассылки протокола Интернета (IP).

Ключ членства может представлять членство для получения всех дейтаграмм, отправленных группе, или быть специфичным для источника, то есть представлять членство, при котором принимаются только дейтаграммы с определенного адреса источника. Определить, является ли ключ членства специфичным для источника, можно, вызвав его метод sourceAddress.

Ключ членства действителен после создания и остается действительным, пока членство не будет прекращено вызовом метода drop или закрытием канала. Проверить действительность ключа членства можно, вызвав его метод isValid.

Если ключ членства не является специфичным для источника, а базовая операционная система поддерживает фильтрацию источников, методы block и unblock можно использовать для блокировки или разблокировки дейтаграмм многоадресной рассылки с определенных адресов источников.

Начиная с версии:
1.7
См. также:
  • MulticastChannel

Краткое описание конструкторов

MembershipKey()
Модификатор Конструктор Описание
protected
Инициализирует новый экземпляр этого класса.

Краткое описание методов

Модификатор и тип Метод Описание
abstract MembershipKey block(InetAddress source)
Блокирует дейтаграммы многоадресной рассылки с указанного адреса источника.
abstract MulticastChannel channel()
Возвращает канал, для которого был создан этот ключ членства.
abstract void drop()
Прекращает членство.
abstract InetAddress group()
Возвращает группу многоадресной рассылки, для которой был создан этот ключ членства.
abstract boolean isValid()
Показывает, действительно ли это членство.
abstract NetworkInterface networkInterface()
Возвращает сетевой интерфейс, для которого был создан этот ключ членства.
abstract InetAddress sourceAddress()
Возвращает адрес источника, если этот ключ членства специфичен для источника, или null, если это членство не является специфичным для источника.
abstract MembershipKey unblock(InetAddress source)
Разблокирует дейтаграммы многоадресной рассылки с указанного адреса источника, который ранее был заблокирован с помощью метода block.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Метод finalize устарел и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания interrupt, либо истечения определенного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания interrupt, либо истечения определенного времени.

Подробное описание конструкторов

MembershipKey

protected MembershipKey()
Инициализирует новый экземпляр этого класса.

Подробное описание методов

isValid

public abstract boolean isValid()
Показывает, действительно ли это членство.

Членство в группе многоадресной рассылки действительно после создания и остается действительным, пока членство не будет прекращено вызовом метода drop или закрытием канала.

Возвращает:
true, если этот ключ членства действителен, иначе false

drop

public abstract void drop()
Прекращает членство.

Если ключ членства представляет членство для получения всех дейтаграмм, членство прекращается и канал больше не будет получать дейтаграммы, отправленные группе. Если ключ членства специфичен для источника, канал больше не будет получать дейтаграммы, отправленные группе с этого адреса источника.

После прекращения членства получение дейтаграмм, отправленных группе, все еще может быть возможным. Это может произойти, если дейтаграммы ожидают получения в буфере приема сокета. После прекращения членства канал может снова join группу; в этом случае будет возвращен новый ключ членства.

После возврата этот объект членства будет invalid. Если членство в группе многоадресной рассылки уже недействительно, вызов этого метода не повлияет на состояние. После того как членство в группе многоадресной рассылки стало недействительным, оно навсегда остается недействительным.

block

public abstract MembershipKey block(InetAddress source) throws IOException
Блокирует дейтаграммы многоадресной рассылки с указанного адреса источника.

Если этот ключ членства не является специфичным для источника и базовая операционная система поддерживает фильтрацию источников, этот метод блокирует дейтаграммы многоадресной рассылки с указанного адреса источника. Если указанный адрес источника уже заблокирован, этот метод не оказывает никакого эффекта. После блокировки адреса источника получение дейтаграмм с этого источника все еще может быть возможным. Это может произойти, если дейтаграммы ожидают получения в буфере приема сокета.

Параметры:
source — адрес источника для блокировки
Возвращает:
этот ключ членства
Выбрасывает:
IllegalArgumentException — если параметр source не является одноадресным адресом или имеет тип адреса, отличный от типа адреса группы многоадресной рассылки
IllegalStateException — если этот ключ членства специфичен для источника или больше не действителен
UnsupportedOperationException — если базовая операционная система не поддерживает фильтрацию источников
IOException — если произошла ошибка ввода-вывода

unblock

public abstract MembershipKey unblock(InetAddress source)
Разблокирует дейтаграммы многоадресной рассылки с указанного адреса источника, который ранее был заблокирован с помощью метода block.
Параметры:
source — адрес источника для разблокировки
Возвращает:
этот ключ членства
Выбрасывает:
IllegalStateException — если указанный адрес источника в данный момент не заблокирован или ключ членства больше не действителен

channel

public abstract MulticastChannel channel()
Возвращает канал, для которого был создан этот ключ членства. Этот метод продолжит возвращать канал, даже если членство станет invalid.
Возвращает:
канал

group

public abstract InetAddress group()
Возвращает группу многоадресной рассылки, для которой был создан этот ключ членства. Этот метод продолжит возвращать группу, даже если членство станет invalid.
Возвращает:
группу многоадресной рассылки

networkInterface

public abstract NetworkInterface networkInterface()
Возвращает сетевой интерфейс, для которого был создан этот ключ членства. Этот метод продолжит возвращать сетевой интерфейс, даже если членство станет invalid.
Возвращает:
сетевой интерфейс

sourceAddress

public abstract InetAddress sourceAddress()
Возвращает адрес источника, если этот ключ членства специфичен для источника, или null, если это членство не является специфичным для источника.
Возвращает:
адрес источника, если этот ключ членства специфичен для источника, иначе null

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API