public abstract class MembershipKey extends Object
メンバーシップ・キーは、グループに送信されるすべてのデータグラムを受信するためのメンバーシップを表すか、特定のソース・アドレスからのデータグラムのみを受信するメンバーシップを表すことを意味するソース固有です。メンバーシップ・キーがソース固有かどうかは、sourceAddress
メソッドの呼出しによって判断できます。
メンバーシップ・キーは作成時に有効であり、drop
メソッドの呼出しによってメンバーシップがドロップされるか、チャネルがクローズされるまで有効なままです。メンバーシップ・キーの有効性は、isValid
メソッドを呼び出すことによってテストできます。
メンバーシップ・キーがソース固有ではなく、基本となるオペレーティング・システムでソースのフィルタリングがサポートされる場合、block
メソッドとunblock
メソッドを使用して、特定のソース・アドレスからのマルチキャスト・データグラムをブロックまたはブロック解除することができます。
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 メソッドを使用して以前にブロックされたマルチキャスト・データグラムをブロック解除します。 |
public abstract boolean isValid()
マルチキャスト・グループ・メンバーシップは作成時に有効であり、drop
メソッドの呼出しによってメンバーシップがドロップされるか、チャネルがクローズされるまで有効なままです。
true
、それ以外の場合はfalse
public abstract void drop()
メンバーシップ・キーがすべてのデータグラムを受信するためのメンバーシップを表す場合、メンバーシップはドロップされ、チャネルはグループに送信されるデータグラムを受信しなくなります。メンバーシップ・キーがソース固有の場合、チャネルは、そのソース・アドレスからグループに送信されるデータグラムを受信しなくなります。
メンバーシップは、ドロップされたあとでも、グループに送信されるデータグラムを受信することがあります。これは、データグラムがソケットの受信バッファに受信されるのを待機している場合に発生します。メンバーシップのドロップ後に、チャネルはグループに再度参加
することがあり、この場合は新しいメンバーシップ・キーが返されます。
返されたときに、このメンバーシップ・オブジェクトは無効
になります。マルチキャスト・グループ・メンバーシップがすでに無効になっている場合、このメソッドを呼び出しても何の影響もありません。いったん無効になったマルチキャスト・グループ・メンバーシップは、永久に無効なままです。
public abstract MembershipKey block(InetAddress source) throws IOException
このメンバーシップ・キーがソース固有ではなく、基本となるオペレーティング・システムでソースのフィルタリングがサポートされる場合、このメソッドは、指定したソース・アドレスからのマルチキャスト・データグラムをブロックします。指定したソース・アドレスがすでにブロックされている場合、このメソッドは何の影響もありません。ソース・アドレスのブロック後でも、そのソースからデータグラムを受信することがあります。これは、データグラムがソケットの受信バッファに受信されるのを待機している場合に発生します。
source
- ブロックするソース・アドレスIllegalArgumentException
- source
パラメータがユニキャスト・アドレスではないか、マルチキャスト・グループと同じアドレス・タイプではない場合IllegalStateException
- このメンバーシップ・キーがソース固有であるか、無効になっている場合UnsupportedOperationException
- 基本となるオペレーティング・システムでソースのフィルタリングがサポートされない場合IOException
- 入出力エラーが発生した場合public abstract MembershipKey unblock(InetAddress source)
block
メソッドを使用して以前にブロックされたマルチキャスト・データグラムをブロック解除します。source
- ブロック解除するソース・アドレスIllegalStateException
- 指定したソース・アドレスが現在ブロックされていないか、メンバーシップ・キーが無効になっている場合public abstract MulticastChannel channel()
無効
になったあともチャネルを返します。public abstract InetAddress group()
無効
になったあともグループを返します。public abstract NetworkInterface networkInterface()
無効
になったあともネットワーク・インタフェースを返します。public abstract InetAddress sourceAddress()
null
を返します。null
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.