Spec-Zone.ru › OpenJDK 25

Класс MembershipKey

java.lang.Object
java.nio.channels.MembershipKey
public abstract class MembershipKey extends Object
Токен, представляющий членство в группе многоадресной рассылки Internet Protocol (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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/channels/MembershipKey.html

Spec-Zone.ru

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