- java.lang.Object
-
- java.nio.channels.MembershipKey
-
public abstract class MembershipKey extends Object
IP (Internet Protocol)マルチキャスト・グループのメンバーシップを表すトークン。メンバーシップ・キーは、グループに送信されるすべてのデータグラムを受信するためのメンバーシップを表すか、特定のソース・アドレスからのデータグラムのみを受信するメンバーシップを表すことを意味するソース固有です。 メンバーシップ・キーがソース固有かどうかは、
sourceAddress
メソッドの呼出しによって判断できます。メンバーシップ・キーは作成時に有効であり、
drop
メソッドの呼出しによってメンバーシップがドロップされるか、チャネルがクローズされるまで有効なままです。 メンバーシップ・キーの有効性は、isValid
メソッドを呼び出すことによってテストできます。メンバーシップ・キーがソース固有ではなく、基本となるオペレーティング・システムでソースのフィルタリングがサポートされる場合、
block
メソッドとunblock
メソッドを使用して、特定のソース・アドレスからのマルチキャスト・データグラムをブロックまたはブロック解除することができます。- 導入されたバージョン:
- 1.7
- 関連項目:
MulticastChannel
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
MembershipKey()
このクラスの新しいインスタンスを初期化します。
-
メソッドのサマリー
修飾子と型 メソッド 説明 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
メソッドを使用して以前にブロックされたマルチキャスト・データグラムをブロック解除します。
-
-
-
メソッドの詳細
-
isValid
public abstract boolean isValid()
このメンバーシップが有効であるかどうかを判断します。マルチキャスト・グループ・メンバーシップは作成時に有効であり、
drop
メソッドの呼出しによってメンバーシップがドロップされるか、チャネルがクローズされるまで有効なままです。- 戻り値:
- メンバーシップ・キーが有効な場合は
true
、それ以外の場合はfalse
-
drop
public abstract void drop()
メンバーシップをドロップします。メンバーシップ・キーがすべてのデータグラムを受信するためのメンバーシップを表す場合、メンバーシップはドロップされ、チャネルはグループに送信されるデータグラムを受信しなくなります。 メンバーシップ・キーがソース固有の場合、チャネルは、そのソース・アドレスからグループに送信されるデータグラムを受信しなくなります。
メンバーシップは、ドロップされたあとでも、グループに送信されるデータグラムを受信することがあります。 これは、データグラムがソケットの受信バッファに受信されるのを待機している場合に発生します。 メンバーシップのドロップ後に、チャネルはグループに再度
参加
することがあり、この場合は新しいメンバーシップ・キーが返されます。返されたときに、このメンバーシップ・オブジェクトは
無効
になります。 マルチキャスト・グループ・メンバーシップがすでに無効になっている場合、このメソッドを呼び出しても何の影響もありません。 いったん無効になったマルチキャスト・グループ・メンバーシップは、永久に無効なままです。
-
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()
作成されたこのメンバーシップ・キーのチャネルを返します。 このメソッドは、メンバーシップが無効
になったあともチャネルを返します。- 戻り値:
- そのチャネル
-
group
public abstract InetAddress group()
作成されたこのメンバーシップ・キーのマルチキャスト・グループを返します。 このメソッドは、メンバーシップが無効
になったあともグループを返します。- 戻り値:
- そのマルチキャスト・グループ
-
networkInterface
public abstract NetworkInterface networkInterface()
作成されたこのメンバーシップ・キーのネットワーク・インタフェースを返します。 このメソッドは、メンバーシップが無効
になったあともネットワーク・インタフェースを返します。- 戻り値:
- そのネットワーク・インタフェース
-
sourceAddress
public abstract InetAddress sourceAddress()
このメンバーシップ・キーがソース固有である場合はソース・アドレスを返し、このメンバーシップがソース固有でない場合はnull
を返します。- 戻り値:
- このメンバーシップ・キーがソース固有の場合はソース・アドレス、それ以外の場合は
null
-
-