GroupSpecifier クラス

GroupSpecifier クラスは、NetStream および NetGroup コンストラクターに渡される「groupspec」と呼ばれる不透明な文字列を構築するために使用されます。groupspec は、groupspec を使用するメンバーの機能、制限、および権限を含めた RTMFP ピアーツーピアーグループを指定します。デフォルトではすべての機能が無効で、ピアーツーピアー接続が許可されています。

RTMFP グループ内のネイバーは、次の方法で相互通信できます。

  • サーバーチャネルの自動的なブートストラップ。

    クライアントが RTMFP 接続を使用して接続すると、サーバーは同じグループのメンバーであるピアにブートストラップします。自動的なブートストラップを有効にするには、GroupSpecifier.serverChannelEnabledtrue を設定します。

  • peerID 交換の明示。

    2 つ以上のピアーが相互に peerID を渡します。ピアーが peerID を交換する方法は、Web サービスからメッセージの送信まで様々です。

  • LAN ピアの検出

    LAN ピアーの検出には GroupSpecifier クラスを使用します。LAN ピアの検出により、サーバーサイドの RTMFP NetConnection とその NetStream および NetGroup オブジェクトが、ピアを自動的に検出し、現在のサブネット上のグループに参加できます。LAN の同じサブネット上の同じグループにいないピアは、互いを検出できません。groupspecs が一致する複数のピアが異なるサブネット上にある場合、互いを検出できなくても、エラーまたはその他のイベントはディスパッチされません。

    次のコードは、LAN ピアーでサーバーサイド ActionScript の検出を有効にする方法を示しています。このコードは、イベントコールバック関数内か、RPC 関数内に記述されています。

    var nc = new NetConnection(); 
    // Protocol must be RTMFP 
    nc.connect("rtmfp://localhost/appname"); 
    var gs = new GroupSpecifier("discovery-test"); 
    // Must be enabled for LAN peer discovery to work 
    gs.ipMulticastMemberUpdatesEnabled = true; 
    // Multicast address over which to exchange peer discovery. 
    gs.addIPMulticastAddress("224.0.0.255:30000"); 
    // Necessary to multicast over a NetStream. 
    gs.multicastEnabled = true; 
    var ns = new NetStream(nc, gs.toString());

GroupSpecifier コンストラクター

new GroupSpecifier(name:String)

GroupSpecifier オブジェクトを作成します。デフォルトではすべての機能が無効で、ピアーツーピアー接続が許可されています。

使用できるバージョン

Flash Media Server 4

パラメーター

name
グループの名前を指定する文字列。グループに参加するすべてのメンバーがこの名前を使用する必要があります。

戻り値

成功した場合の GroupSpecifier オブジェクトname パラメーターが見つからないか null の場合、Java スクリプトエラーが返されます。

次の例では、groupSpecifier という GroupSpecifier オブジェクトを作成します。このオブジェクトを使用して作成されるグループでは、マルチキャストとポスティングが有効になります。また、グループではサーバーチャンネルが有効になります。

var groupSpecifier = new GroupSpecifier("com.example.someapp"); 
groupSpecifier.multicastEnabled = true; 
groupSpecifier.postingEnabled = true; 
groupSpecifier.serverChannelEnabled = true;

GroupSpecifier.addBootstrapPeer()

groupSpecifier.addBootstrapPeer(peerID)

関連付けられた NetStream または NetGroup が指定された peerID への初期ネイバー接続を確立できるようにします。

使用できるバージョン

Flash Media Server 4

パラメーター

peerID
文字列。初期ネイバー接続を確立する peerID は、ピアーツーピアーメッシュへのブートストラップにする必要があります。

戻り値

なし

GroupSpecifier.addIPMulticastAddress()

groupSpecifier.addIPMulticastAddress(address, port)

関連付けられた NetStream または NetGroup が指定された IP マルチキャストグループに参加して、指定された UDP ポートを待機するようにします。

address または port が無効な形式である場合、ランタイムエラーが発生します。

使用できるバージョン

Flash Media Server 4

パラメーター

address
参加する IPv4 または IPv6 マルチキャストグループのアドレスを指定する文字列の後には、必要に応じて、コロン(「:」)および UDP ポート番号が付きます。IPv6 アドレスとポートを指定する場合、IPv6 アドレスは、例えば "224.0.0.254""224.0.0.254:30000""ff03::ffff""[ff03::ffff]:30000" のように、角括弧で囲む必要があります。

port
数値。IP マルチキャストデータグラムを受信する UDP ポート。port が null の場合、UDP ポートは、address で指定する必要があります。null でない場合、UDP ポートを address で指定しないでください。

戻り値

なし

GroupSpecifier.authorizations()

groupSpecifier.authorizations()

IP マルチキャストパブリッシングおよびアップロード用のパスワードを表す文字列を返します。権限のない groupspec に文字列を付加して、パスワードを設定されている機能を有効にすることができます。

使用できるバージョン

Flash Media Server 4

パラメーター

なし

戻り値

文字列。

GroupSpecifier.encodeBootstrapPeerIDSpec()

groupSpecifier.encodeBootstrapPeerIDSpec(peerID)

ブートストラップ peerID を表す文字列をエンコードして返します。groupspec に文字列を付加すると、関連 NetStream または NetGroup が指定された peerID への初期ネイバー接続を行います。

使用できるバージョン

Flash Media Server 4

パラメーター

peerID
文字列。初期ネイバー接続を確立する peerID は、ピアーツーピアーメッシュへのブートストラップにする必要があります。

戻り値

文字列。

GroupSpecifier.encodeGroupspecDigest()

GroupSpecifier.encodeGroupspecDigest(groupspec:String)

渡された groupspec の正規の部分のダイジェストをエンコードして返す静的メソッド。このメソッドは、groupspec ダイジェストを生成してグループの参加および脱退イベントを既知のグループに関連付けるために呼び出します。

使用できるバージョン

Flash Media Server 4.5

パラメーター

groupspec
文字列。ダイジェストをエンコードする groupspec。

戻り値

渡された groupspec の正規の部分のダイジェスト。

GroupSpecifier.encodeIPMulticastAddressSpec()

groupSpecifier.encodeIPMulticastAddressSpec(address, port)

IP マルチキャストソケットアドレスを表す文字列をエンコードして返します。groupspec に文字列を付加すると、関連付けられている NetStream または NetGroup が指定された IP マルチキャストグループに参加し、指定された UDP ポートを待機します。

address または port パラメーターが無効か見つからない場合は、Java スクリプトエラーを返します。

使用できるバージョン

Flash Media Server 4

パラメーター

address
文字列。参加する IPv4 または IPv6 マルチキャストグループのアドレスを指定する文字列の後には、必要に応じて、コロン(「:」)および UDP ポート番号が付きます。IPv6 アドレスとポートを指定する場合、IPv6 アドレスは、例えば "224.0.0.254""224.0.0.254:30000""ff03::ffff""[ff03::ffff]:30000" のように、角括弧で囲む必要があります。

port
数値。IP マルチキャストデータグラムを受信する UDP ポート。port が null の場合、UDP ポートは、address で指定する必要があります。null でない場合、UDP ポートを address で指定しないでください。

戻り値

文字列。

GroupSpecifier.encodePostingAuthorization()

groupSpecifier.encodePostingAuthorization(password)

アップロード用パスワードを表す文字列をエンコードして返します。アップロードがパスワード保護されている場合、アップロードできるようにするために groupspec に文字列を連結します。

使用できるバージョン

Flash Media Server 4

パラメーター

password
文字列。エンコードするパスワードは、NetGroup.post() を有効にするアップロード用パスワードと一致する必要があります(パスワードが設定されている場合)。

戻り値

文字列。

GroupSpecifier.encodePublishAuthorization()

groupSpecifier.encodePublishAuthorization(password)

マルチキャストパブリッシング用パスワードを表す文字列をエンコードして返します。マルチキャストパブリッシングがパスワード保護されている場合、ポスティングを有効にするために groupspec に文字列を連結できます。

使用できるバージョン

Flash Media Server 4

パラメーター

password
文字列。エンコードするパスワードは、NetStream.publish() を有効にするパブリッシング用パスワードと一致する必要があります(パスワードが設定されている場合)。

戻り値

文字列。

GroupSpecifier.groupspecWithAuthorizations()

groupSpecifier.groupspecWithAuthorizations()

NetStream および NetGroup コンストラクターに渡すことができる、権限を含めた不透明な groupspec 文字列を返します。

使用できるバージョン

Flash Media Server 4

パラメーター

なし

戻り値

文字列。

GroupSpecifier.groupspecWithoutAuthorizations()

groupSpecifier.groupspecWithoutAuthorizations()

NetStream および NetGroup コンストラクターに渡すことができる、権限を含めない不透明な groupspec 文字列を返します。

使用できるバージョン

Flash Media Server 4

パラメーター

なし

戻り値

文字列。

GroupSpecifier.ipMulticastMemberUpdatesEnabled

groupSpecifier.ipMulticastMemberUpdatesEnabled

グループメンバーシップに関する情報を IP マルチキャストソケットで交換できるかどうかを示すブール値。IP マルチキャストサーバーでグループメンバーシップの更新を送信して、P2P メッシュまたは修復パーティションをブートストラップすることができます。ピアーを使用して LAN 上でメンバーシップの更新を送信し、LAN P2P メッシュをブートストラップし、他の LAN 上のネイバーが存在するグローバルメッシュ内の LAN 上のネイバーに通知することができます。これによって、P2P のパフォーマンスを改善することができます。

使用できるバージョン

Flash Media Server 4

GroupSpecifier.makeUnique()

groupSpecifier.makeUnique()

groupspec を一意なものにするために強力な疑似乱数タグを追加します。次に、不透明な groupspec 文字列をグループの潜在的な他のメンバーに渡す必要があります。クライアントはこの groupspec 文字列を使用してグループに参加する必要があります。

使用できるバージョン

Flash Media Server 4

パラメーター

なし

戻り値

なし

GroupSpecifier.multicastEnabled

groupSpecifier.multicastEnabled

指定のグループで NetStream によるストリーミングを有効にするかどうかを指定するブール値。デフォルト値は false です。

使用できるバージョン

Flash Media Server 4

GroupSpecifier.objectReplicationEnabled

groupSpecifier.objectReplicationEnabled

指定の NetGroup でオブジェクトレプリケーションを有効にするかどうかを指定するブール値。デフォルト値は false です。

使用できるバージョン

Flash Media Server 4

GroupSpecifier.peerToPeerDisabled

groupSpecifier.peerToPeerDisabled

NetGroup または NetStream でピアーツーピアー接続を無効にするかどうかを指定するブール値。デフォルト値は false です。

ピアーツーピアー接続が無効の場合、ネイバー接続が確立されないため、グループメンバーがアップストリーム帯域幅を使用することはできません。ピアーツーピアー接続が無効の場合、ピアーツーピアー警告ダイアログボックスは表示されません。このモードは、マルチキャストストリームを純粋な IP マルチキャスト経由で送受信する場合にのみ有用です。

使用できるバージョン

Flash Media Server 4

GroupSpecifier.postingEnabled

groupSpecifier.postingEnabled

指定の NetGroup でポスティングを有効にするかどうかを指定するブール値。デフォルト値は false です。ポスティングの詳細については、「NetGroup.post()」を参照してください。

使用できるバージョン

Flash Media Server 4

GroupSpecifier.routingEnabled

groupSpecifier.routingEnabled

指定の NetGroup で転送メソッドを有効にするかどうかを指定するブール値。デフォルト値は false です。

使用できるバージョン

Flash Media Server 4

GroupSpecifier.serverChannelEnabled

groupSpecifier.serverChannelEnabled

このグループでメンバーがサーバーへのチャンネルを開くかどうかを指定するブール値。デフォルト値は false です。

サーバーがグループメンバーにブートストラップのようなサポート機能を提供するには、サーバーへのチャンネルが開かれている必要があります。サーバーの設定に応じて、サポート機能がこのチャンネル経由で提供される場合とされない場合があります。

自動ブートストラップのためにサーバーチャンネルを使用するには、JoinLeaveEventsmode 属性を Application.xml ファイルで "All" に設定します。

<GroupControl> 
    <JoinLeaveEvents mode="All"/> 
</GroupControl>

使用できるバージョン

Flash Media Server 4

GroupSpecifier.setPostingPassword()

groupSpecifier.setPostingPassword(password, salt)

NetGroup.post() を呼び出すために必要なパスワードを指定します。

使用できるバージョン

Flash Media Server 4

パラメーター

password
文字列。パスワードです。null の場合、アップロードするためにパスワードは不要です。デフォルト値は null です。

salt
文字列。推測を難しくするために、パスワードのハッシュを変更します。セキュリティを強力にするためには、このパラメーターをランダムな値に設定してください。デフォルト値は null です。

戻り値

なし

GroupSpecifier.setPublishPassword()

groupSpecifier.setPublishPassword(password, salt)

グループにマルチキャストパブリッシングする NetStream.publish() を呼び出すために必要なパスワードを指定します。

使用できるバージョン

Flash Media Server 4

パラメーター

password
文字列。パスワードです。null の場合はパスワードが不要です。デフォルト値は null です。

salt
文字列。推測を難しくするために、パスワードのハッシュを変更します。セキュリティを強力にするためには、このパラメーターをランダムな値に設定してください。デフォルト値は null です。

戻り値

なし

GroupSpecifier.toString()

groupSpecifier.toString()

groupspecWithAuthorizations() メソッドと同じです。NetStream および NetGroup コンストラクターに渡す、権限を含めた不透明な groupspec 文字列を返す Convenience メソッド。

使用できるバージョン

Flash Media Server 4

パラメーター

なし

戻り値

文字列。