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