| パッケージ | mx.messaging |
| public class Channel | |
| 継承 | Channel EventDispatcher Object |
| Subclasses | PollingChannel |
チャンネルは、MessageAgents とリモート宛先間で送信されるメッセージにとって、特定プロトコルベースのパイプとなります。ServerConfig.getChannel() メソッドで、フレームワーク内の設定済みチャンネルが取得されます。new 演算子を使って直接チャンネルを作成し、ChannelSet に直接追加することもできます。
チャンネルは、リモートエンドポイントへの物理接続を表します。デフォルトでは、複数の宛先の間でチャンネルが共有されます。つまり、複数の宛先をターゲットとしているクライアントでは、それらの宛先との通信に同一のチャンネルを使用することがあります。
メモ: このクラスは高度な使用のみを目的としています。既存の RTMPChannel、AMFChannel、および HTTPChannel などのカスタムチャンネルを作成する場合に、このクラスを使用します。
| プロパティ | 定義 | ||
|---|---|---|---|
| channelSets : Array
[read-only]
チャンネルに接続された ChannelSet へのアクセスを提供します。
| Channel | ||
| connected : Boolean
[read-only]
このチャンネルがリモート宛先との接続を確立しているかどうかを示します。
| Channel | ||
| connectTimeout : int
チャンネルに対する接続タイムアウト時間 (秒単位) へのアクセスを提供します。
| Channel | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| endpoint : String
[read-only]
このチャンネルのエンドポイントへのアクセスを提供します。
| Channel | ||
| failoverURIs : Array
エンドポイントがクラスタ化されている場合に、このチャンネルがフェイルオーバーを試行できるエンドポイント URI のセットへのアクセスを提供します。
| Channel | ||
| id : String
[read-only]
このチャンネルの ID へのアクセスを提供します。
| Channel | ||
| protocol : String
[read-only]
チャンネルが使用するプロトコルへのアクセスを提供します。
| Channel | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| reconnecting : Boolean
[read-only]
このチャンネルが代替エンドポイントへの再接続を実行中であるかどうかを示します。
| Channel | ||
| requestTimeout : int
チャンネルに対するデフォルト要求タイムアウト (秒単位) へのアクセスを提供します。
| Channel | ||
| uri : String
[read-only]
このチャンネルに対するエンドポイント URI 全体を作成するのに使用される URI へのアクセスを提供します。
| Channel | ||
| メソッド | 定義 | ||
|---|---|---|---|
| Channel(id:String, uri:String)
指定されたエンドポイント URI に接続する汎用チャンネルのインスタンスを作成します。
| Channel | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
| applySettings(settings:XML):void
個々のチャンネルに必要な設定を適用するには常に、サブクラスでこのメソッドをオーバーライドする必要があります。
| Channel | ||
| connect(channelSet:ChannelSet):void
ChannelSet をチャンネルに接続します。
| Channel | ||
| disconnect(channelSet:ChannelSet):void
ChannelSet をチャンネルから切断します。
| Channel | ||
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
| logout(agent:MessageAgent):void
チャンネルが接続されていれば、CommandMessage をサーバーに送信してログアウトします。
| Channel | ||
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
| send(agent:MessageAgent, message:IMessage):void
指定されたメッセージをターゲットの宛先に送信します。
| Channel | ||
| setCredentials(credentials:String, agent:MessageAgent = null):void
資格情報を指定の値に設定します。
| Channel | ||
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| メソッド | 定義 | ||
|---|---|---|---|
| connectFailed(event:ChannelFaultEvent):void
失敗した内部接続を処理し、チャンネルの
FAULT イベントを送出します。 | Channel | ||
| connectSuccess():void
成功した内部接続を処理し、チャンネルの
CONNECT イベントを送出します。 | Channel | ||
| connectTimeoutHandler(event:TimerEvent):void
ChannelFaultEvent を送出して接続タイムアウトを処理します。
| Channel | ||
| disconnectFailed(event:ChannelFaultEvent):void
失敗した内部切断を処理し、チャンネルの
FAULT イベントを送出します。 | Channel | ||
| disconnectSuccess(rejected:Boolean = false):void
成功した内部切断を処理して、チャンネルの
DISCONNECT イベントを送出します。 | Channel | ||
| getMessageResponder(agent:MessageAgent, message:IMessage):MessageResponder
チャンネルの
send() メソッドに適切な MessageResponder を返します。 | Channel | ||
| internalConnect():void
チャンネルをエンドポイントに接続します。
| Channel | ||
| internalDisconnect(rejected:Boolean = false):void
チャンネルをエンドポイントから切断します。
| Channel | ||
| internalSend(messageResponder:MessageResponder):void
チャンネルを通じてメッセージを送信し、応答を応答側に転送します。
| Channel | ||
| イベント | 一覧 | 定義 | ||
|---|---|---|---|---|
| channelConnect | チャンネルがエンドポイントから切断された後で送出されます。 | Channel | ||
| channelDisconnect | チャンネルがエンドポイントから切断された後で送出されます。 | Channel | ||
| channelFault | チャンネルに障害が発生した後に送出されます。 | Channel | ||
| message | チャンネルがエンドポイントからメッセージを受信したときに送出されます。 | Channel | ||
| propertyChange | チャンネルのプロパティが変更されたときに送出されます。 | Channel | ||
| channelSets | プロパティ |
channelSets:Array [read-only]チャンネルに接続された ChannelSet へのアクセスを提供します。
実装 public function get channelSets():Array
| connected | プロパティ |
connected:Boolean [read-only]このチャンネルがリモート宛先との接続を確立しているかどうかを示します。
このプロパティはデータバインディングのソースとして使用できます。
実装 public function get connected():Boolean
| connectTimeout | プロパティ |
connectTimeout:int [read-write]チャンネルに対する接続タイムアウト時間 (秒単位) へのアクセスを提供します。値が 0 以下の場合は、接続の試行はクライアントでタイムアウトになりません。フェイルオーバーするように設定されているチャンネルの場合、この値は接続が確立されるまでの待ち時間の合計になります。この値は、チャンネルが接続を試行するフェイルオーバー URI ごとにリセットされません。
実装 public function get connectTimeout():int
public function set connectTimeout(value:int):void
| endpoint | プロパティ |
endpoint:String [read-only]
このチャンネルのエンドポイントへのアクセスを提供します。この値は、uri プロパティの値に基づいて算出されます。
public function get endpoint():String
| failoverURIs | プロパティ |
failoverURIs:Array [read-write]エンドポイントがクラスタ化されている場合に、このチャンネルがフェイルオーバーを試行できるエンドポイント URI のセットへのアクセスを提供します。
実装 public function get failoverURIs():Array
public function set failoverURIs(value:Array):void
| id | プロパティ |
| protocol | プロパティ |
protocol:String [read-only]チャンネルが使用するプロトコルへのアクセスを提供します。
メモ: チャンネルのサブクラスでこのメソッドをオーバーライドし、サポートされるプロトコルを表すストリングを返す必要があります。サポートされるプロトコルのストリングの例として、"rtmp"、"http"、"https" などがあります。
実装 public function get protocol():String
| reconnecting | プロパティ |
reconnecting:Boolean [read-only]このチャンネルが代替エンドポイントへの再接続を実行中であるかどうかを示します。
このプロパティはデータバインディングのソースとして使用できます。
実装 public function get reconnecting():Boolean
| requestTimeout | プロパティ |
requestTimeout:int [read-write]チャンネルに対するデフォルト要求タイムアウト (秒単位) へのアクセスを提供します。値が 0 以下の場合は、送信要求はクライアント上でタイムアウトになりません。
要求タイムアウトは、リモート宛先からの応答を必要とする RPC スタイルのメッセージングで特に便利です。
実装 public function get requestTimeout():int
public function set requestTimeout(value:int):void
| uri | プロパティ |
uri:String [read-only]このチャンネルに対するエンドポイント URI 全体を作成するのに使用される URI へのアクセスを提供します。URI は部分パスにすることができ、その場合は必要に応じて完全なエンドポイント URI が計算されます。
実装 public function get uri():String
| Channel | () | コンストラクタ |
public 関数 Channel(id:String, uri:String)指定されたエンドポイント URI に接続する汎用チャンネルのインスタンスを作成します。メモ:チャンネルのタイプは直接作成しないでください。代わりに、プロトコル固有のサブクラス (RTMPChannel や AMFChannel など) のインスタンスを作成します。
パラメータid:String — このチャンネルの ID です。
|
|
uri:String — このチャンネルのエンドポイント URI です。
|
| applySettings | () | メソッド |
public function applySettings(settings:XML):void
個々のチャンネルに必要な設定を適用するには常に、サブクラスでこのメソッドをオーバーライドする必要があります。必ず super.applySettings() を呼び出して、チャンネルに一般的な設定を適用してください。
settings:XML — このチャンネルの services-config.xml ファイルのXML フラグメントです。以下のフラグメントには、すべての設定内容を備えた <channel> タグがあります。
<channel id="my-amf" type="mx.messaging.channels.AMFChannel">
<endpoint uri="/dev/messagebroker/amf" type="flex.messaging.endpoints.AmfEndpoint"/>
<プロパティ>
<polling-enabled>false</polling-enabled>
</properties>
</channel>
|
| 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:TimerEvent):void
ChannelFaultEvent を送出して接続タイムアウトを処理します。現在の接続試行を停止するために、サブタイプによってオーバーライドされることがありますが、super.connectTimeoutHandler(event) を呼び出す必要があります。
event:TimerEvent — 接続タイムアウト時間に達したことを示すタイマーイベント。
|
| disconnect | () | メソッド |
public final function disconnect(channelSet:ChannelSet):voidChannelSet をチャンネルから切断します。チャンネルがエンドポイントに接続されていて、接続されている 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 です。
|
| 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 | () | メソッド |
protected function internalDisconnect(rejected:Boolean = false):voidチャンネルをエンドポイントから切断します。オーバーライドする必要があります。
パラメータrejected:Boolean (default = false) — 接続拒否またはタイムアウトが原因で切断され、再接続を自動的に試行する必要がない場合は true で、それ以外の場合は false です。
|
| internalSend | () | メソッド |
protected function internalSend(messageResponder:MessageResponder):voidチャンネルを通じてメッセージを送信し、応答を応答側に転送します。オーバーライドする必要があります。
パラメータmessageResponder:MessageResponder — 応答を処理するための MessageResponder です。
|
| logout | () | メソッド |
public function logout(agent:MessageAgent):voidチャンネルが接続されていれば、CommandMessage をサーバーに送信してログアウトします。現在の証明書はクリアされます。
パラメータagent:MessageAgent — ログアウトするための MessageAgent です。
|
| send | () | メソッド |
public final function send(agent:MessageAgent, message:IMessage):void
指定されたメッセージをターゲットの宛先に送信します。実際の送信を実行するには、サブクラスで internalSend() メソッドをオーバーライドする必要があります。
agent:MessageAgent — メッセージを送信している MessageAgent です。
|
|
message:IMessage — 送信するメッセージです。
|
InvalidDestinationError — MessageAgent とメッセージのいずれにも宛先が指定されていない場合。
|
| setCredentials | () | メソッド |
public function setCredentials(credentials:String, agent:MessageAgent = null):void資格情報を指定の値に設定します。資格情報が null でなく、チャンネルが接続されている場合、このメソッドは資格情報を使用してログインするようにとの CommandMessage もサーバーに送信します。
パラメータcredentials:String — 資格情報はストリングです。
|
|
agent:MessageAgent (default = null) — ログインするための MessageAgent です。ログイン結果を処理します。
|
| channelConnect | event |
mx.messaging.events.ChannelEvent
mx.messaging.events.ChannelEvent.CONNECT
チャンネルがエンドポイントから切断された後で送出されます。
CONNECT イベント型。チャンネルがエンドポイントに接続されたことを示します。
この定数の値は "channelConnect" です。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
channel | このイベントがトリガされたチャンネルです。 |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
reconnecting | このイベントを生成したチャンネルが再接続中かどうかを示します。 |
rejected | このイベントを生成したチャンネルが拒否されたかどうかを示します。アクティビティがないことによりチャンネルが切断された場合は、これが true になり、フェイルオーバーが行われず、代替チャンネルへの接続も行われません。 |
| channelDisconnect | event |
mx.messaging.events.ChannelEvent
mx.messaging.events.ChannelEvent.DISCONNECT
チャンネルがエンドポイントから切断された後で送出されます。
DISCONNECT イベント型。チャンネルがエンドポイントから切断されたことを示します。
この定数の値は "channelDisconnect" です。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
channel | このイベントがトリガされたチャンネルです。 |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
reconnecting | このイベントを生成したチャンネルが再接続中かどうかを示します。 |
rejected | このイベントを生成したチャンネルが拒否されたかどうかを示します。アクティビティがないことによりチャンネルが切断された場合は、これが true になり、フェイルオーバーが行われず、代替チャンネルへの接続も行われません。 |
| channelFault | event |
mx.messaging.events.ChannelFaultEvent
mx.messaging.events.ChannelFaultEvent.FAULT
チャンネルに障害が発生した後に送出されます。
FAULT イベント型。フォルトが発生したチャンネルを示します。
この定数の値は "channelFault" です。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
channel | このイベントを生成したチャンネル。 |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
faultCode | 失敗に関する宛先固有の詳細を提供します。 |
faultDetail | 失敗の宛先固有の理由へのアクセスを提供します。 |
faultString | チャンネル自体がフォルトを生成しなかった場合は、フォルトの根本的な理由へのアクセスを提供します。 |
reconnecting | このイベントを生成したチャンネルが再接続中かどうかを示します。 |
rootCause | チャンネル自体がフォルトを生成しなかった場合は、フォルトの根本的な理由へのアクセスを提供します。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
| message | event |
mx.messaging.events.MessageEvent
mx.messaging.events.MessageEvent.MESSAGE
チャンネルがエンドポイントからメッセージを受信したときに送出されます。
MESSAGE イベント型。メッセージの受信時に送出されます。
この定数の値は "message" です。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
message | このイベントに関連付けられたメッセージです。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
| propertyChange | event |
mx.events.PropertyChangeEvent
mx.events.PropertyChangeEvent.PROPERTY_CHANGE
チャンネルのプロパティが変更されたときに送出されます。
PropertyChangeEvent.PROPERTY_CHANGE 定数により、PropertyChange イベントのイベントオブジェクトの type プロパティ値が定義されます。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | コンストラクタによって決定されます。デフォルトは false です。 |
cancelable | コンストラクタによって決定されます。デフォルトは false です。 |
kind | 変更の種類。PropertyChangeEventKind.UPDATE または PropertyChangeEventKind.DELETE のいずれかです。 |
oldValue | 元のプロパティの値です。 |
newValue | 新しいプロパティの値 (存在する場合) です。 |
property | 変更されたプロパティです。 |
source | 変更されたプロパティを含むオブジェクトです。 |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |