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

バージョン : Reactor 1.0.0

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

ConnectionMonitorクラスは直接インスタンス化する必要がない点に注意してください。かわりに、各Reactorオブジェクトが自動的にConnectionMonitorインスタンスを生成します。 与えられた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_FREQUENCY : int = -1
[静的] ConnectionMonitorのデフォルトの自動再接続頻度設定です。デフォルトは-1ミリ秒で、再接続を試行しないことを意味します。
ConnectionMonitor
  DEFAULT_CONNECTION_TIMEOUT : int = 60000
[静的] ConnectionMonitorのデフォルトの接続タイムアウト設定です。デフォルトは60000ミリ秒(1分)です。
ConnectionMonitor
  DEFAULT_HEARTBEAT_FREQUENCY : int = 10000
[静的] ConnectionMonitorのデフォルトのハートビート設定です。デフォルトは10000ミリ秒です。
ConnectionMonitor
パブリック メソッド
 メソッド定義元
  
コンストラクタ
ConnectionMonitor
  
クライアント側のハートビートを無効化します。
ConnectionMonitor
  
クライアント側のログにハートビート関連のメッセージが表示されないようにします。
ConnectionMonitor
  
クライアント側のハートビートを有効化します。ハートビートはping時間の計算と、コネクション切断の検出に使用されます。
ConnectionMonitor
  
クライアント側のログにハートビート関連のメッセージが表示されるようにします。
ConnectionMonitor
  
Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値を返します。
ConnectionMonitor
  
クライアントのコネクションが切断されたとみなして強制的に切断する前に、ハートビートに許容される最大往復応答時間を返します。
ConnectionMonitor
  
アプリケーションのハートビート感覚をミリ秒の値で返します。
ConnectionMonitor
  
isPingShared():Boolean
現クライアントのping値が現在、他のクライアントと共有されているかどうかを示します。
ConnectionMonitor
  
このモニターをデフォルト設定にセットします。
ConnectionMonitor
  
setAutoReconnectFrequency(milliseconds:int):void
Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値をセットします。
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_FREQUENCYプロパティ
public static var DEFAULT_AUTORECONNECT_FREQUENCY:int = -1

バージョン : Reactor 1.0.0

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

関連項目

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

バージョン : Reactor 1.0.0

ConnectionMonitorのデフォルトの接続タイムアウト設定です。デフォルトは60000ミリ秒(1分)です。

関連項目

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

バージョン : Reactor 1.0.0

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

関連項目

setHeartbeatFrequency()
コンストラクタの詳細
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

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

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

バージョン : Reactor 1.0.0

Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値を返します。

戻り値
int

関連項目

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

バージョン : Reactor 1.0.0

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

戻り値
int

関連項目

setConnectionTimeout()
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

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

関連項目

setAutoReconnectFrequency()メソッド 
public function setAutoReconnectFrequency(milliseconds:int):void

バージョン : Reactor 1.0.0

Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値をセットします。 もしmillisecondsを-1(デフォルト)にセットする場合、ConnectionMonitorは自動的にはサーバーへの再接続を試行しません。 もし自動の再接続試行が現在進行中のときに新たな再接続試行の開始がスケジュールされると、既存の試行は新たな試行が開始される前に中止されます。 そのために、Unionサーバーへの接続にかかる時間が50ミリ秒から10秒までの間であるような通常のインターネット接続において、自動再接続頻度を5000ミリ秒以下のどんな値に設定することも、本来成功するはずの接続の試行を早まって中断させてしまうことになり得ます。 低い自動再接続頻度を適用するときには警告を使用してください。

パラメータ

milliseconds:int — 接続が失われたとき、再接続試行が行われるまでのミリ秒の値です。

関連項目

getAutoReconnectFrequency()


次のコードでは、ReactorはUnionサーバーへの接続が失われたとき、5秒毎に自動的に再接続を試行します。
     var reactor:Reactor = new Reactor();
     reactor.getConnectionMonitor().setAutoReconnectFrequency(5000);
     
setConnectionTimeout()メソッド 
public function setConnectionTimeout(milliseconds:int):void

バージョン : Reactor 1.0.0

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

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

パラメータ

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

関連項目

setHeartbeatFrequency()
DEFAULT_CONNECTION_TIMEOUT


次のコードでは、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ミリ秒です。

関連項目

setHeartbeatFrequency()