| パッケージ | 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 | ||
| メソッド | 定義 | ||
|---|---|---|---|
|
指定されたエンドポイント URI に接続する汎用チャネルのインスタンスを作成します。
| 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 | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| メソッド | 定義 | ||
|---|---|---|---|
|
失敗した内部接続を処理し、チャネルの
FAULT イベントを送出します。 | Channel | ||
|
成功した内部接続を処理し、チャネルの
CONNECT イベントを送出します。 | Channel | ||
|
ChannelFaultEvent を送出して接続タイムアウトを処理します。
| Channel | ||
|
失敗した内部切断を処理し、チャネルの
FAULT イベントを送出します。 | Channel | ||
|
成功した内部切断を処理して、チャネルの
DISCONNECT イベントを送出します。 | Channel | ||
|
チャネルの
send() メソッドに適切な MessageResponder を返します。 | Channel | ||
|
チャネルをエンドポイントに接続します。
| Channel | ||
|
チャネルをエンドポイントから切断します。
| Channel | ||
|
チャネルを通じてメッセージを送信し、応答を応答側に転送します。
| Channel | ||
| イベント | 一覧 | 定義 | ||
|---|---|---|---|---|
![]() | Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
| チャネルがエンドポイントから切断された後で送出されます。 | Channel | |||
| チャネルがエンドポイントから切断された後で送出されます。 | Channel | |||
| チャネルに障害が発生した後に送出されます。 | Channel | |||
![]() | Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| チャネルがエンドポイントからメッセージを受信したときに送出されます。 | Channel | |||
| チャネルのプロパティが変更されたときに送出されます。 | 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"/>
<properties>
<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 プロパティを使用します。 |