Класс MembershipKey
public abstract class MembershipKey extends Object
Ключ членства может представлять членство для получения всех дейтаграмм, отправленных группе, или быть специфичным для источника, то есть представлять членство, при котором принимаются только дейтаграммы с определенного адреса источника. Определить, является ли ключ членства специфичным для источника, можно, вызвав его метод sourceAddress.
Ключ членства действителен после создания и остается действительным, пока членство не будет прекращено вызовом метода drop или закрытием канала. Проверить действительность ключа членства можно, вызвав его метод isValid.
Если ключ членства не является специфичным для источника, а базовая операционная система поддерживает фильтрацию источников, методы block и unblock можно использовать для блокировки или разблокировки дейтаграмм многоадресной рассылки с определенных адресов источников.
- Начиная с версии:
- 1.7
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Инициализирует новый экземпляр этого класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract MembershipKey |
block |
Блокирует дейтаграммы многоадресной рассылки с указанного адреса источника. |
abstract MulticastChannel |
channel() |
Возвращает канал, для которого был создан этот ключ членства. |
abstract void |
drop() |
Прекращает членство. |
abstract InetAddress |
group() |
Возвращает группу многоадресной рассылки, для которой был создан этот ключ членства. |
abstract boolean |
isValid() |
Показывает, действительно ли это членство. |
abstract NetworkInterface |
networkInterface() |
Возвращает сетевой интерфейс, для которого был создан этот ключ членства. |
abstract InetAddress |
sourceAddress() |
Возвращает адрес источника, если этот ключ членства специфичен для источника, или null, если это членство не является специфичным для источника. |
abstract MembershipKey |
unblock |
Разблокирует дейтаграммы многоадресной рассылки с указанного адреса источника, который ранее был заблокирован с помощью метода block. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания interrupt, либо истечения определенного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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
© 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.