パッケージ | mx.messaging |
クラス | public class Channel |
継承 | Channel ![]() ![]() |
実装 | IMXMLObject |
サブクラス | PollingChannel |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
チャンネルは、MessageAgents とリモート宛先間で送信されるメッセージにとって、特定プロトコルベースのパイプとなります。 ServerConfig.getChannel()
メソッドで、フレームワーク内の設定済みチャンネルが取得されます。 new
演算子を使って直接チャンネルを作成し、ChannelSet に直接追加することもできます。
チャンネルは、リモートエンドポイントへの物理接続を表します。 デフォルトでは、複数の宛先の間でチャンネルが共有されます。 つまり、複数の宛先をターゲットとしているクライアントでは、それらの宛先との通信に同一のチャンネルを使用することがあります。
メモ:このクラスは高度な使用のみを目的としています。既存の RTMPChannel、AMFChannel、および HTTPChannel などのカスタムチャンネルを作成する場合に、このクラスを使用します。
プロパティ | 定義元 | ||
---|---|---|---|
authenticated : Boolean [読み取り専用]
このチャンネルを認証するかどうかを示します。 | Channel | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | |
endpoint : String [読み取り専用]
このチャンネルのエンドポイントへのアクセスを提供します。 | Channel | ||
failoverURIs : Array
エンドポイントがクラスタ化されている場合に、このチャンネルがフェイルオーバーを試行できるエンドポイント URI のセットへのアクセスを提供します。 | Channel | ||
id : String
このチャンネルの ID へのアクセスを提供します。 | Channel | ||
protocol : String [読み取り専用]
チャンネルが使用するプロトコルへのアクセスを提供します。 | Channel | ||
reconnecting : Boolean [読み取り専用]
このチャンネルが代替エンドポイントへの再接続を実行中であるかどうかを示します。 | Channel | ||
requestTimeout : int
チャンネルに対するデフォルト要求タイムアウト(秒単位)へのアクセスを提供します。 | Channel | ||
uri : String
このチャンネルに対するエンドポイント URI 全体を作成するのに使用される URI へのアクセスを提供します。 | Channel |
プロパティ | 定義元 | ||
---|---|---|---|
shouldBeConnected : Boolean [読み取り専用]
このチャンネルをエンドポイントに接続する必要があるかどうかを示します。 | Channel |
メソッド | 定義元 | ||
---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
個々のチャンネルに必要な設定を適用するには常に、サブクラスでこのメソッドをオーバーライドする必要があります。 | Channel | ||
ChannelSet をチャンネルに接続します。 | Channel | ||
ChannelSet をチャンネルから切断します。 | Channel | ||
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
チャンネルが接続されていれば、CommandMessage をサーバーに送信してログアウトします。 | Channel | ||
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
指定されたメッセージをターゲットの宛先に送信します。 | Channel | ||
資格情報を指定の値に設定します。 | Channel | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
メソッド | 定義元 | ||
---|---|---|---|
クライアントのロードバランシング URL が存在する場合はそれらの URL を適用します。 | Channel | ||
失敗した内部接続を処理し、チャンネルの FAULT イベントを送出します。 | Channel | ||
成功した内部接続を処理し、チャンネルの CONNECT イベントを送出します。 | Channel | ||
ChannelFaultEvent を送出して接続タイムアウトを処理します。 | Channel | ||
失敗した内部切断を処理し、チャンネルの FAULT イベントを送出します。 | Channel | ||
成功した内部切断を処理して、チャンネルの DISCONNECT イベントを送出します。 | Channel | ||
アプリケーションへの初回チャンネル接続を管理するためのガード条件への変更を処理します。 | Channel | ||
チャンネルの send() メソッドに適切な MessageResponder を返します。 | Channel | ||
チャンネルをエンドポイントに接続します。 | Channel | ||
チャンネルをエンドポイントから切断します。 | Channel | ||
チャンネルを通じてメッセージを送信し、応答を応答側に転送します。 | Channel |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
![]() | [ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
チャンネルがエンドポイントから切断された後で送出されます。 | Channel | |||
![]() | [ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher |
定数 | 定義元 | ||
---|---|---|---|
CONNECT_TIMEOUT_SECONDS : String = "connect-timeout-seconds" [静的] | Channel | ||
ENABLE_SMALL_MESSAGES : String = "enable-small-messages" [静的] | Channel | ||
FALSE : String = "false" [静的] | Channel | ||
RECORD_MESSAGE_SIZES : String = "record-message-sizes" [静的] | Channel | ||
RECORD_MESSAGE_TIMES : String = "record-message-times" [静的] | Channel | ||
REQUEST_TIMEOUT_SECONDS : String = "request-timeout-seconds" [静的] | Channel | ||
SERIALIZATION : String = "serialization" [静的] | Channel | ||
TRUE : String = "true" [静的] | Channel |
authenticated | プロパティ |
endpoint | プロパティ |
failoverURIs | プロパティ |
id | プロパティ |
protocol | プロパティ |
reconnecting | プロパティ |
requestTimeout | プロパティ |
shouldBeConnected | プロパティ |
uri | プロパティ |
applyClientLoadBalancingSettings | () | メソッド |
protected function applyClientLoadBalancingSettings(props:XML):void
クライアントのロードバランシング URL が存在する場合はそれらの URL を適用します。クライアントのロードバランシング URL のセットから URL をランダムに選択して、チャンネルのメイン URL として設定します。次に、残りの URL をチャンネルの failoverURI
として割り当てます。
パラメーター
props:XML — このチャンネルに対する services-config.xml ファイルの XML フラグメントのプロパティセクションです。
|
applySettings | () | メソッド |
connect | () | メソッド |
public final function connect(channelSet:ChannelSet):void
ChannelSet をチャンネルに接続します。チャンネルがまだエンドポイントに接続されていない場合は、接続を試みます。チャンネルのサブクラスで internalConnect()
メソッドをオーバーライドし、基になる接続が確立されたら connectSuccess()
メソッドを呼び出す必要があります。
パラメーター
channelSet:ChannelSet — チャンネルに接続する ChannelSet です。
|
connectFailed | () | メソッド |
protected function connectFailed(event:ChannelFaultEvent):void
失敗した内部接続を処理し、チャンネルの FAULT
イベントを送出します。チャンネルに failoverURI
値がある場合は、その URI 値を順に使用して、接続が確立されるまでまたは使用可能な値がなくなるまで、自動的に再接続を試みます。
パラメーター
event:ChannelFaultEvent — 失敗した接続の ChannelFaultEvent です。
|
connectSuccess | () | メソッド |
protected function connectSuccess():void
成功した内部接続を処理し、チャンネルの CONNECT
イベントを送出します。
connectTimeoutHandler | () | メソッド |
protected function connectTimeoutHandler(event:flash.events:TimerEvent):void
ChannelFaultEvent を送出して接続タイムアウトを処理します。 現在の接続試行を停止するために、サブタイプによってオーバーライドされることがありますが、super.connectTimeoutHandler(event)
を呼び出す必要があります。
パラメーター
event:flash.events:TimerEvent — 接続タイムアウト時間に達したことを示すタイマーイベントです。
|
disconnect | () | メソッド |
public final function disconnect(channelSet:ChannelSet):void
ChannelSet をチャンネルから切断します。チャンネルがエンドポイントに接続されていて、接続されている ChannelSet がそれ以上ない場合、ChannelSet は内部的に切断されます。
チャンネルのサブクラスで internalDisconnect()
メソッドをオーバーライドし、基となる接続が終了している場合は disconnectSuccess()
メソッドを呼び出す必要があります。
パラメーター
channelSet:ChannelSet — チャンネルから切断する ChannelSet です。
|
disconnectFailed | () | メソッド |
protected function disconnectFailed(event:ChannelFaultEvent):void
失敗した内部切断を処理し、チャンネルの FAULT
イベントを送出します。
パラメーター
event:ChannelFaultEvent — 失敗した切断の ChannelFaultEvent です。
|
disconnectSuccess | () | メソッド |
protected function disconnectSuccess(rejected:Boolean = false):void
成功した内部切断を処理して、チャンネルの DISCONNECT
イベントを送出します。切断の原因がネットワーク障害で、チャンネルに failoverURI
値がある場合は、その URI 値を順に使用して、接続が確立されるまでまたは使用可能な値がなくなるまで、自動的に再接続を試みます。
パラメーター
rejected:Boolean (default = false ) — スキップしない限り試行されるフェイルオーバー処理を切断時にすべてスキップする必要がある場合は、true です。フェイルオーバー処理の実行を許可する必要のある場合は、false です。
|
flexClientWaitHandler | () | メソッド |
protected function flexClientWaitHandler(event:PropertyChangeEvent):void
アプリケーションへの初回チャンネル接続を管理するためのガード条件への変更を処理します。この呼び出しは、このチャンネルが接続の試行を待っている状態であることを意味します。
パラメーター
event:PropertyChangeEvent — FlexClient シングルトンにより送出された PropertyChangeEvent です。
|
getMessageResponder | () | メソッド |
protected function getMessageResponder(agent:MessageAgent, message:IMessage):MessageResponder
チャンネルの send()
メソッドに適切な MessageResponder を返します。オーバーライドする必要があります。
パラメーター
agent:MessageAgent — メッセージを送信する MessageAgent です。
| |
message:IMessage — 送信するメッセージです。
|
MessageResponder — 結果またはエラーを処理するための MessageResponder です。
|
例外
IllegalOperationError — チャンネルのサブクラスでこのメソッドをオーバーライドしない場合。
|
internalConnect | () | メソッド |
protected function internalConnect():void
チャンネルをエンドポイントに接続します。オーバーライドする必要があります。
internalDisconnect | () | メソッド |
internalSend | () | メソッド |
protected function internalSend(messageResponder:MessageResponder):void
チャンネルを通じてメッセージを送信し、応答を応答側に転送します。オーバーライドする必要があります。
パラメーター
messageResponder:MessageResponder — 応答を処理するための MessageResponder です。
|
logout | () | メソッド |
public function logout(agent:MessageAgent):void
チャンネルが接続されていれば、CommandMessage をサーバーに送信してログアウトします。現在の証明書はクリアされます。
パラメーター
agent:MessageAgent — ログアウトするための MessageAgent です。
|
send | () | メソッド |
public function send(agent:MessageAgent, message:IMessage):void
指定されたメッセージをターゲットの宛先に送信します。 実際の送信を実行するには、サブクラスで internalSend()
メソッドをオーバーライドする必要があります。
パラメーター
agent:MessageAgent — メッセージを送信している MessageAgent です。
| |
message:IMessage — 送信するメッセージです。
|
例外
InvalidDestinationError — MessageAgent とメッセージのいずれにも宛先が指定されていない場合。
|
setCredentials | () | メソッド |
public function setCredentials(credentials:String, agent:MessageAgent = null, charset:String = null):void
資格情報を指定の値に設定します。資格情報が null でなく、チャンネルが接続されている場合、このメソッドは資格情報を使用してログインするようにとの CommandMessage もサーバーに送信します。
パラメーター
credentials:String — 資格情報はストリングです。
| |
agent:MessageAgent (default = null ) — ログインするための MessageAgent です。ログイン結果を処理します。
| |
charset:String (default = null ) — 資格情報をエンコードする際に使用された文字セットエンコーディングです。デフォルトは null で、旧式文字セットの ISO-Latin-1 を示します。
|
例外
IllegalOperationError — 2 つの状況:資格情報が既に設定済みでリモートの宛先の認証が進行中である場合、または指定した認証済みの資格情報が現在の認証済みの資格情報と一致しない場合。
|
channelConnect | イベント |
mx.messaging.events.ChannelEvent
プロパティ ChannelEvent.type =
mx.messaging.events.ChannelEvent.CONNECT
チャンネルがエンドポイントから切断された後で送出されます。
チャネルがリモート宛先に接続を試みて問題が発生すると常に、Channel およびそのサブクラスは Channel.Connect.Failed コードを発行します。AMFChannel オブジェクトは、既に接続されているチャネルが基になる NetConnection から Call.Failed コードを受け取ると、Channel.Call.Failed コードを発行します。
CONNECT イベント型。チャンネルがエンドポイントに接続されたことを示します。この定数の値は "channelConnect"
です。
イベントオブジェクトの各プロパティには次の値が設定されています。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false |
channel | このイベントが生成されたチャンネルです。 |
currentTarget | イベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、myButton の値は currentTarget となります。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。 イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
reconnecting | このイベントを生成したチャンネルが再接続中であるかどうかを示します。 |
rejected | このイベントを生成したチャンネルが拒否されたかどうかを示します。 アクティビティがないことによりチャンネルが切断された場合は、これが true になり、フェイルオーバーが行われず、代替チャンネルへの接続も行われません。 |
CONNECT_TIMEOUT_SECONDS | 定数 |
protected static const CONNECT_TIMEOUT_SECONDS:String = "connect-timeout-seconds"
ENABLE_SMALL_MESSAGES | 定数 |
protected static const ENABLE_SMALL_MESSAGES:String = "enable-small-messages"
FALSE | 定数 |
protected static const FALSE:String = "false"
RECORD_MESSAGE_SIZES | 定数 |
protected static const RECORD_MESSAGE_SIZES:String = "record-message-sizes"
RECORD_MESSAGE_TIMES | 定数 |
protected static const RECORD_MESSAGE_TIMES:String = "record-message-times"
REQUEST_TIMEOUT_SECONDS | 定数 |
protected static const REQUEST_TIMEOUT_SECONDS:String = "request-timeout-seconds"
SERIALIZATION | 定数 |
protected static const SERIALIZATION:String = "serialization"
TRUE | 定数 |
protected static const TRUE:String = "true"
Tue Jun 12 2018, 10:34 AM Z