| パッケージ | net.user1.reactor |
| クラス | public class ConnectionMonitor |
| 継承 | ConnectionMonitor 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);
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| 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(reactor:Reactor) コンストラクタ | ConnectionMonitor | ||
disableHeartbeat():void クライアント側のハートビートを無効化します。 | ConnectionMonitor | ||
disableHeartbeatLogging():void クライアント側のログにハートビート関連のメッセージが表示されないようにします。 | ConnectionMonitor | ||
enableHeartbeat():void クライアント側のハートビートを有効化します。ハートビートはping時間の計算と、コネクション切断の検出に使用されます。 | ConnectionMonitor | ||
enableHeartbeatLogging():void クライアント側のログにハートビート関連のメッセージが表示されるようにします。 | ConnectionMonitor | ||
Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値を返します。 | ConnectionMonitor | ||
getConnectionTimeout():int クライアントのコネクションが切断されたとみなして強制的に切断する前に、ハートビートに許容される最大往復応答時間を返します。 | ConnectionMonitor | ||
getHeartbeatFrequency():int アプリケーションのハートビート感覚をミリ秒の値で返します。 | ConnectionMonitor | ||
isPingShared():Boolean 現クライアントのping値が現在、他のクライアントと共有されているかどうかを示します。 | ConnectionMonitor | ||
restoreDefaults():void このモニターをデフォルト設定にセットします。 | 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ミリ秒で、再接続を試行しないことを意味します。
関連項目
| DEFAULT_CONNECTION_TIMEOUT | プロパティ |
public static var DEFAULT_CONNECTION_TIMEOUT:int = 60000| バージョン : | Reactor 1.0.0 |
ConnectionMonitorのデフォルトの接続タイムアウト設定です。デフォルトは60000ミリ秒(1分)です。
関連項目
| 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 |
クライアント側のログにハートビート関連のメッセージが表示されるようにします。
| getAutoReconnectFrequency | () | メソッド |
public function getAutoReconnectFrequency():int| バージョン : | Reactor 1.0.0 |
Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値を返します。
戻り値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 |
このモニターをデフォルト設定にセットします。
関連項目
| setAutoReconnectFrequency | () | メソッド |
public function setAutoReconnectFrequency(milliseconds:int):void| バージョン : | Reactor 1.0.0 |
Unionサーバーへの接続が失われたとき、再接続試行が行われるまでのミリ秒の値をセットします。 もしmillisecondsを-1(デフォルト)にセットする場合、ConnectionMonitorは自動的にはサーバーへの再接続を試行しません。 もし自動の再接続試行が現在進行中のときに新たな再接続試行の開始がスケジュールされると、既存の試行は新たな試行が開始される前に中止されます。 そのために、Unionサーバーへの接続にかかる時間が50ミリ秒から10秒までの間であるような通常のインターネット接続において、自動再接続頻度を5000ミリ秒以下のどんな値に設定することも、本来成功するはずの接続の試行を早まって中断させてしまうことになり得ます。 低い自動再接続頻度を適用するときには警告を使用してください。
パラメータ
milliseconds:int — 接続が失われたとき、再接続試行が行われるまでのミリ秒の値です。 |
関連項目
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 — ミリ秒で表した、一つのハートビートに許容される最大往復応答時間です。 |
関連項目
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 — ミリ秒で表したハートビート間隔です。 |
関連項目
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ミリ秒です。
関連項目