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, 2013, Oracle and/or its affiliates. All rights reserved.