Класс 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. |
Подробное описание конструкторов
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/nio/channels/MembershipKey.html