パッケージnet.user1.reactor
クラスpublic class ConnectionMonitor
継承ConnectionMonitor Inheritance Object

バージョン : Reactor 1.0.0

ConnectionMonitorクラスはアプリケーションのハートビートおよび自動切断・再接続機能を提供します。 デフォルトでは、ConnectionMonitorは10秒おきにハートビートを送信し、クライアントのpingを計算するのに利用します。 もしサーバー応答が60秒(デフォルト設定)を越えて返ってこなければ、ConnectionMonitorは自動的にクライアントの接続を閉じます。 接続失敗の後に自動再接続を行いたい場合は、setAutoReconnectFrequency()を通して"再接続頻度"を設定する必要があります。 ConnectionMonitorはデフォルトでは自動再接続を行いません。

Note that the ConnctionMonitor class need not be instantiated directly; instead, each Reactor object creates a ConnectionMonitor instance automatically. 与えられたReactorオブジェクトのConnectionMonitorインスタンスを取り出すには、ReactorクラスのgetConnectionMonitor()メソッドを使用します。

次のコードによってConnectionMonitorが5秒おきにハートビートを送信します:

   var reactor:Reactor = new Reactor();
   reactor.getConnectionMonitor().setHeartbeatFrequency(5000);
   

ConnectionMonitorクラスはインターネット接続が落ちたことを検知でき、そして自動的に復帰することができます。 FlashPlayerは、それ自身では、ネットワークケーブルが抜けたり無線ネットワークが無効になったときにソケット接続を閉じるのは確実でも素早くもありません。 それに対して、ConnectionMonitorは接続失敗を数秒内に検知するように設定できます。 例えば、次のコードを実行すると、7秒を超えてハートビート(ping)応答が無いとき、ReactorがUnionサーバーから切断するようになります。

   var reactor:Reactor = new Reactor();
   reactor.getConnectionMonitor().setConnectionTimeout(7000);
   

関連項目

setHeartbeatFrequency
setConnectionTimeout
setAutoReconnectFrequency


パブリック プロパティ
 プロパティ定義元
  DEFAULT_AUTORECONNECT_ATTEMPT_LIMIT : int = -1
[静的] 自動再接続が有効化されているときにConnectionMonitorが行う再接続試行の最大回数のデフォルト値です。デフォルトは-1であり、自動再接続が有効であれば再接続試行を停止しません。
ConnectionMonitor
  DEFAULT_AUTORECONNECT_FREQUENCY : int = -1
[静的] ConnectionMonitorのデフォルトの自動再接続頻度設定です。デフォルトは-1ミリ秒で、再接続を試行しないことを意味します。
ConnectionMonitor
  DEFAULT_CONNECTION_TIMEOUT : int = 60000
[静的] The ConnectionMonitor's default connection-timeout setting; defaults to 60000 milliseconds (one minute).
ConnectionMonitor
  DEFAULT_HEARTBEAT_FREQUENCY : int = 10000
[静的] ConnectionMonitorのデフォルトのハートビート設定です。デフォルトは10000ミリ秒です。
ConnectionMonitor
パブリック メソッド
 メソッド定義元
  
コンストラクタ
ConnectionMonitor
  
クライアント側のハートビートを無効化します。
ConnectionMonitor
  
クライアント側のログにハートビート関連のメッセージが表示されないようにします。
ConnectionMonitor
  
クライアント側のハートビートを有効化します。ハートビートはping時間の計算と、コネクション切断の検出に使用されます。
ConnectionMonitor
  
クライアント側のログにハートビート関連のメッセージが表示されるようにします。
ConnectionMonitor
  
自動再接続が有効化されているときにReactorがUnionサーバーへ再接続を試行する回数を返します。
ConnectionMonitor
  
Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値を返します。
ConnectionMonitor
  
クライアントのコネクションが切断されたとみなして強制的に切断する前に、ハートビートに許容される最大往復応答時間を返します。
ConnectionMonitor
  
アプリケーションのハートビート感覚をミリ秒の値で返します。
ConnectionMonitor
  
isPingShared():Boolean
現クライアントのping値が現在、他のクライアントと共有されているかどうかを示します。
ConnectionMonitor
  
このモニターをデフォルト設定にセットします。
ConnectionMonitor
  
setAutoReconnectAttemptLimit(attempts:int):void
自動再接続が有効化されているときにReactorがUnionサーバーへ再接続を試行するべき回数を指定します。
ConnectionMonitor
  
setAutoReconnectFrequency(minMS:int, maxMS:int = -1, delayFirstAttempt:Boolean = false):void
Specifies the number of milliseconds between reconnection attempts made when the connection to Union Server is lost.
ConnectionMonitor
  
setConnectionTimeout(milliseconds:int):void
クライアントのコネクションが切断されたとみなして強制的に切断する前に、ハートビートに許容される最大往復応答時間を設定します。
ConnectionMonitor
  
setHeartbeatFrequency(milliseconds:int):void
アプリケーションの"ハートビート"頻度を設定します。
ConnectionMonitor
  
sharePing(share:Boolean):void
現クライアントのping値を自動的に他のクライアントと共有するかどうかを指定します。
ConnectionMonitor
パブリック 定数
 定数定義元
  MIN_HEARTBEAT_FREQUENCY : int = 20
[静的] ConnectionMonitor のハートビート設定の最低値は 20ミリ秒です。
ConnectionMonitor
プロパティの詳細
DEFAULT_AUTORECONNECT_ATTEMPT_LIMITプロパティ
public static var DEFAULT_AUTORECONNECT_ATTEMPT_LIMIT:int = -1

バージョン : Reactor 1.1.0

自動再接続が有効化されているときにConnectionMonitorが行う再接続試行の最大回数のデフォルト値です。デフォルトは-1であり、自動再接続が有効であれば再接続試行を停止しません。

関連項目

DEFAULT_AUTORECONNECT_FREQUENCYプロパティ 
public static var DEFAULT_AUTORECONNECT_FREQUENCY:int = -1

バージョン : Reactor 1.0.0

ConnectionMonitorのデフォルトの自動再接続頻度設定です。デフォルトは-1ミリ秒で、再接続を試行しないことを意味します。

関連項目

DEFAULT_CONNECTION_TIMEOUTプロパティ 
public static var DEFAULT_CONNECTION_TIMEOUT:int = 60000

バージョン : Reactor 1.0.0

The ConnectionMonitor's default connection-timeout setting; defaults to 60000 milliseconds (one minute).

関連項目

DEFAULT_HEARTBEAT_FREQUENCYプロパティ 
public static var DEFAULT_HEARTBEAT_FREQUENCY:int = 10000

バージョン : Reactor 1.0.0

ConnectionMonitorのデフォルトのハートビート設定です。デフォルトは10000ミリ秒です。

関連項目

コンストラクタの詳細
ConnectionMonitor()コンストラクタ
public function ConnectionMonitor(reactor:Reactor)

コンストラクタ

パラメータ
reactor:Reactor — このConnectionMonitorが監視するReactorインスタンスです。
メソッドの詳細
disableHeartbeat()メソッド
public function disableHeartbeat():void

バージョン : Reactor 1.0.0

クライアント側のハートビートを無効化します。 ハートビートが無効なとき、クライアントのping時間は計算されず、クライアント側のコネクション切断(たとえば、ネットワークケーブルの断線などによって)は検出されないおそれがあります。

関連項目

disableHeartbeatLogging()メソッド 
public function disableHeartbeatLogging():void

バージョン : Reactor 1.0.0

クライアント側のログにハートビート関連のメッセージが表示されないようにします。

enableHeartbeat()メソッド 
public function enableHeartbeat():void

バージョン : Reactor 1.0.0

クライアント側のハートビートを有効化します。ハートビートはping時間の計算と、コネクション切断の検出に使用されます。 ConnectionMonitor のハートビートはデフォルトで有効化されており、enableHeartbeat() は disableHeartbeat() によって無効化されたハートビートを再開するときにのみ必要である点に注意してください。

関連項目

enableHeartbeatLogging()メソッド 
public function enableHeartbeatLogging():void

バージョン : Reactor 1.0.0

クライアント側のログにハートビート関連のメッセージが表示されるようにします。

getAutoReconnectAttemptLimit()メソッド 
public function getAutoReconnectAttemptLimit():int

バージョン : Reactor 1.1.0

自動再接続が有効化されているときにReactorがUnionサーバーへ再接続を試行する回数を返します。

戻り値
int

関連項目

getAutoReconnectFrequency()メソッド 
public function getAutoReconnectFrequency():int

バージョン : Reactor 1.0.0

Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値を返します。 The return of getAutoReconnectFrequency() is always an integer between the minMS and maxMS values supplied to the most recent call to setAutoReconnectFrequency(), inclusive.

戻り値
int

関連項目

getConnectionTimeout()メソッド 
public function getConnectionTimeout():int

バージョン : Reactor 1.0.0

クライアントのコネクションが切断されたとみなして強制的に切断する前に、ハートビートに許容される最大往復応答時間を返します。

戻り値
int

関連項目

getHeartbeatFrequency()メソッド 
public function getHeartbeatFrequency():int

バージョン : Reactor 1.0.0

アプリケーションのハートビート感覚をミリ秒の値で返します。

戻り値
int

関連項目

isPingShared()メソッド 
public function isPingShared():Boolean

バージョン : Reactor 1.0.0

現クライアントのping値が現在、他のクライアントと共有されているかどうかを示します。

戻り値
Boolean
restoreDefaults()メソッド 
public function restoreDefaults():void

バージョン : Reactor 1.0.0

このモニターをデフォルト設定にセットします。

関連項目

setAutoReconnectAttemptLimit()メソッド 
public function setAutoReconnectAttemptLimit(attempts:int):void

バージョン : Reactor 1.1.0

自動再接続が有効化されているときにReactorがUnionサーバーへ再接続を試行するべき回数を指定します。 デフォルトは-1(無制限)です。こうするとReactorは接続が確立するまで無限に接続を試行しつづけることになります。 自動再接続を有効化するには、ConnectionMonitorのsetAutoReconnectFrequency()メソッドを使用してください。

パラメータ

attempts:int

関連項目



次のコードでは接続が失敗するか閉じられる限り、ReactorがUnionサーバーへ最大5回の再接続を試行することになります。 再接続試行は10000ミリ秒(つまり、10秒)ごとに行われます。
     reactor.getConnectionMonitor().setAutoReconnectFrequency(10000);
     reactor.getConnectionMonitor().setAutoReconnectAttemptLimit(5);
     
setAutoReconnectFrequency()メソッド 
public function setAutoReconnectFrequency(minMS:int, maxMS:int = -1, delayFirstAttempt:Boolean = false):void

バージョン : Reactor 1.0.0; Version 2.1.1 replaces single "frequency" parameter with minMS. maxMS. and delayFirstAttempt parameters.

Specifies the number of milliseconds between reconnection attempts made when the connection to Union Server is lost. When minMS is a positive integer and maxMS is greater than minMS, the actual number of milliseconds between reconnection attempts is selected randomly upon disconnection, as an integer between minMS and maxMS. The randomly selected reconnection frequency is used until the next successful disconnection. 例えば、 if minMS is 7000, maxMS is 20000, and the randomly selected delay following a disconnection is 9000, then connection attempts will occur at 9000 ms, 18,000 ms, 27,000 ms, and so on until the client successfully reconnects. If そのクライアントが切断する again, a new value between 7000 and 20000 will be selected as the reconnection frequency. Must be greater than 0. Values under 5000 ms are not recommended.

The random selection of reconnection frequency prevents heavy simultaneous connection load during application outages. Without random reconnection frequency selection, if Union Server forcibly disconnected enough clients at the same time, and those clients were configured to attempt reconnection upon disconnection, the simultaneous reconnection attempts made by the disconnected clients could stress Union Server beyond capacity. Load can be reduced by configuring clients to reconnect after a random delay within a specified range rather than at identical intervals.

If minMS is set to -1 (the default), ConnectionMonitor will not automatically attempt to reconnect to Union Server. もし自動の再接続試行が現在進行中のときに新たな再接続試行の開始がスケジュールされると、既存の試行は新たな試行が開始される前に中止されます。 Therefore, on a typical internet connection, where a connection to Union server can take anywhere from 50 milliseconds to 10 seconds, setting minMS to anything lower than 5000 milliseconds can cause potentially successful connection attempts to be prematurely aborted. 低い自動再接続頻度を適用するときには警告を使用してください。

パラメータ

minMS:int — The minimum number of milliseconds that must elapse between reconnection attempts.
 
maxMS:int (default = -1) — The maximum number of milliseconds that can elapse between reconnection attempts. When not specified, maxMS defaults to the value specified by minMS (i.e., no random value will be selected). Must be greater than or equal to maxMS.
 
delayFirstAttempt:Boolean (default = false) — When true, upon first disconnection after a successful connection, the client will wait the amount of time specified by minMS and maxMS before attempting to reconnect. When false, upon first disconnection after a successful connection, the client will attempt to reconnect immediately.

関連項目



The following code causes Reactor to attempt an automatic reconnection every ten seconds when the connection to Union Server is lost. Upon first being disconnected after a successful connection, Reactor will immediately attempt to reconnect.
     var reactor:Reactor = new Reactor();
     reactor.getConnectionMonitor().setAutoReconnectFrequency(10000);
     
The following code causes Reactor to attempt an automatic reconnection between five and ten seconds after the connection to Union Server is lost. Because the delayFirstAttempt parameter value is true, upon first being disconnected after a successful connection, Reactor will wait for the selected random delay to pass before peforming the first reconnection attempt.
     reactor.getConnectionMonitor().setAutoReconnectFrequency(5000, 10000, true);
     
setConnectionTimeout()メソッド 
public function setConnectionTimeout(milliseconds:int):void

バージョン : Reactor 1.0.0

クライアントのコネクションが切断されたとみなして強制的に切断する前に、ハートビートに許容される最大往復応答時間を設定します。 デフォルトは60秒(60000ミリ秒)です。

コネクションタイムアウト値は各ハートビートが送信される直前にチェックされます。 ハートビート送信時に、もし応答を受け取っていない最も古いハートビートがコネクションタイムアウト値を経過していた場合、Reactor は切断を行います。

パラメータ

milliseconds:int — ミリ秒で表した、一つのハートビートに許容される最大往復応答時間です。

関連項目



次のコードでは、Reactorはハートビート(ping)応答を7秒を越えて受信しなかったときにUnionサーバーから切断します。
     var reactor:Reactor = new Reactor();
     reactor.getConnectionMonitor().setConnectionTimeout(7000);
     
setHeartbeatFrequency()メソッド 
public function setHeartbeatFrequency(milliseconds:int):void

バージョン : Reactor 1.0.0

アプリケーションの"ハートビート"頻度を設定します。 各ハートビートで、クライアントはサーバーを通して自分自身へのメッセージ送信を試行します。 もしこの試行が成功すれば、クライアントはメッセージの往復応答時間を自分の現在のping値に設定します。

ConnectionMonitorのハートビート頻度はデフォルトでは10秒毎に1回です。 ConnectionMonitor のハートビートを完全に無効化するには、disableHeartbeat() を呼び出します。

アプリケーション内でハートビートが有効化されているとき、もしConnectionMonitorの現在の接続タイムアウトが正の値にセットされている場合、指定の接続タイムアウト内にハートビートメッセージを受信することに失敗すると自動的にクライアント側の切断をトリガーします。

パラメータ

milliseconds:int — ミリ秒で表したハートビート間隔です。

関連項目



次のコードでは、Reactorはハートビート(ping)を1秒毎に送信します。
     var reactor:Reactor = new Reactor();
     reactor.getConnectionMonitor().setHeartbeatFrequency(1000);
     
sharePing()メソッド 
public function sharePing(share:Boolean):void

バージョン : Reactor 1.0.0

現クライアントのping値を自動的に他のクライアントと共有するかどうかを指定します。 デフォルトでは、クライアントのping値は他のクライアントと共有されません。 このクライアントのpingが共有されているとき、他のクライアントはClientのgetPing()メソッドを通してその値を取得できます。

パラメータ

share:Boolean

関連項目

定数の詳細
MIN_HEARTBEAT_FREQUENCY定数
public static const MIN_HEARTBEAT_FREQUENCY:int = 20

バージョン : Reactor 1.0.0

ConnectionMonitor のハートビート設定の最低値は 20ミリ秒です。

関連項目