パッケージnet.user1.reactor
クラスpublic class Server
継承Server Inheritance flash.events.EventDispatcher

バージョン : Reactor 1.0.0

グローバルなサーバーデータ、機能およびサーバーモジュールとの通信手段へのアクセスを提供します。 Serverオブジェクトにアクセスするには、ReactorのgetServer()メソッドを使用してください。

関連項目

Reactor.getServer()


パブリック メソッド
 メソッド定義元
  
Server(reactor:Reactor)
Server
  
メモリから現在のモジュールクラス定義を全て除去するようサーバーに要求します。
Server
  
getServerTime():Number
"1970年1月1日を基点としたミリ秒"フォーマットを使用して、サーバーのおおよその現在時間をUTCで返します。
Server
  
Unionサーバーによって使用中のUPCプロトコルのバージョンを返します。
Server
  
getVersion():String
Reactorが現在接続したUnionサーバーのバージョンを返します。
Server
  
現クライアントが現在処理されたUPCを監視しているかどうかを示します。
Server
  
Unionサーバーにサーバー側のUPC処理統計をリセットするよう要求します。
Server
  
sendMessage(messageName:String, includeSelf:Boolean = false, filters:IFilter = null, ... rest):void
サーバー全体にメッセージを送信します。
Server
  
sendModuleMessage(moduleID:String, messageName:String, messageArguments:Object = null):void
指定したサーバーモジュールに指定したメッセージを送信します。
Server
  
setIsWatchingForProcessedUPCs(value:Boolean):void
Server
  
UPC処理通知の送信を停止するようサーバーに要求します。
Server
  
syncTime():void
サーバーに現在の時間の送信を要求します。
Server
  
任意のUPCメッセージが処理されるごとに現クライアントに通知するようサーバーに要求します。
Server
Events
 Event Summary 定義元
   現クライアントによる『処理されたUPCの監視を停止』の試行結果をサーバーが報告するときに送出されます。Server
   現クライアントによって先に行われたServerのsyncTime()メソッド呼び出しの応答としてサーバーの現在時刻をサーバーが送信するときに送出されます。Server
   現クライアントが"処理されたUPCメッセージ"を監視しているとき、サーバーが内向きのUPCメッセージの処理を完了するときに送出されます。Server
   現クライアントによる『処理されたUPCの監視』の試行結果をサーバーが報告するときに送出されます。Server
コンストラクタの詳細
Server()コンストラクタ
public function Server(reactor:Reactor)



パラメータ
reactor:Reactor
メソッドの詳細
clearModuleCache()メソッド
public function clearModuleCache():void

バージョン : Reactor 1.0.2

メモリから現在のモジュールクラス定義を全て除去するようサーバーに要求します。 その後インスタンス化されたモジュールは新たにロードされたモジュールクラス定義を使用します。これによってモジュール開発者はサーバーを再起動せずにランタイムでUnionサーバーのモジュールを更新できます。 現在実行中のモジュールはリロードされない点に注意してください。 例えば、もしルームモジュールがすでにあるルームにおいてアクティブになっている場合、clearModuleCache()はそのモジュールには影響しません。 もしそのアクティブ状態のモジュールのクラスファイルが変更されてclearModuleCache()が呼び出された場合、新たなクラス定義は次回そのルームが除去されて再生成されるまでは使用されません。

clearModuleCache()はスクリプトモジュールには影響しません。 Unionサーバーは常にディスク上にある全てのスクリプトモジュールの最新バージョンを使用するため、クリアされるスクリプトモジュールはありません。



    reactor.getServer().clearModuleCache();
    
getServerTime()メソッド 
public function getServerTime():Number

バージョン : Reactor 1.0.0

"1970年1月1日を基点としたミリ秒"フォーマットを使用して、サーバーのおおよその現在時間をUTCで返します。 この時間は次の二つの値を加えることによって近似されます。

最も正確な可能性のある近似値を読み出すには、初めにsyncTime()を呼び出し、それからServerEvent.TIME_SYNCのコールバック関数内でgetServerTime()を呼び出します。

戻り値
Number

関連項目

getUPCVersion()メソッド 
public function getUPCVersion():VersionNumber

バージョン : Reactor 1.0.0

Unionサーバーによって使用中のUPCプロトコルのバージョンを返します。 プロトコル情報については、UPC仕様を参照してください。

戻り値
VersionNumber
getVersion()メソッド 
public function getVersion():String

バージョン : Reactor 1.0.0

Reactorが現在接続したUnionサーバーのバージョンを返します。

戻り値
String
isWatchingForProcessedUPCs()メソッド 
public function isWatchingForProcessedUPCs():Boolean

バージョン : Reactor 1.1.0

現クライアントが現在処理されたUPCを監視しているかどうかを示します。

戻り値
Boolean

関連項目

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

バージョン : Reactor 1.1.0

Unionサーバーにサーバー側のUPC処理統計をリセットするよう要求します。 もしその要求が受理された場合、Unionサーバーは自身が持つ『UPCメッセージ処理』の最長時間のリストをクリアします。 『統計リセット』はその次に取得されるUPCStatsSnapshotに反映されます。 デフォルトでは、resetUPCStats()には管理者権限が必要です。

関連項目

sendMessage()メソッド 
public function sendMessage(messageName:String, includeSelf:Boolean = false, filters:IFilter = null, ... rest):void

バージョン : Reactor 1.0.0

サーバー全体にメッセージを送信します。

メッセージを受信するには、受信するクライアントはMessageManagerのaddMessageListener()メソッドを通してメッセージリスナーを登録する必要があります。

次のコードは"HELLO"と命名されたメッセージをサーバー上の全クライアントに送信します。
    connection.getServer().sendMessage("HELLO", 
                                       true,
                                       null, 
                                       "Hi everyone!");
    
次のコードは"HELLO"メッセージを受信するためにあるメソッド、helloListener()を登録します。
    connection.getMessageManager().addMessageListener("HELLO", helloListener);
    
次のコードはhelloListener()メソッドを示します。これはデバッグコンソールに受信メッセージを表示します:
    public function helloListener (fromClient:IClient, message:String):void {
      trace("Received message: " + message);
    }
    

パラメータ

messageName:String — 実行するメッセージ名です。
 
includeSelf:Boolean (default = false) — 現クライアント(つまり、sendMessage()を起動したクライアント)にメッセージを送信するかどうかを指定します。 デフォルトはfalseです(送信者にはエコーしません)。
 
filters:IFilter (default = null) — メッセージに適用する一つ以上のフィルターを指定します。 フィルターは各クライアントがメッセージを受信するために満たさなければいけない条件を指定します。 たとえば、メッセージを受信するのは属性"team"が"red"に設定されたクライアントだけといった指示ができます。 完全な詳細については、Filterクラスを参照してください。 フィルターがnullの場合、サーバー上の全クライアントがメッセージを受信します。
 
... rest — オプションです。引数のストリング値をカンマで区切ったリストとしてこのメッセージに付与します。 これらのメッセージはメッセージの受信を登録している全てのリスナーに渡されることになります。 MessageManagerのaddMessageListener()メソッドを参照してください。

関連項目

sendModuleMessage()メソッド 
public function sendModuleMessage(moduleID:String, messageName:String, messageArguments:Object = null):void

バージョン : Reactor 1.0.0

指定したサーバーモジュールに指定したメッセージを送信します。

サーバーモジュールの情報については、Union Server's modules documentationを参照してください。

パラメータ

moduleID:String — メッセージが送られるモジュールのIDです。 モジュールはサーバーのunion.xml設定ファイル内で、各モジュールの<id>タグを通してIDを割り当てられます。 例えば、次の union.xml の抜粋はserverStatsServerModuleというIDをもつモジュールの設置を示します。
    <modules>
      <module>
        <id>serverStatsServerModule</id>
        <source type="class">net.user1.union.servermodule.ServerStatsServerModule</source>
        <attributes>
          <attribute name="interval">300</attribute>
        </attributes>
      </module>   
    </modules>
    
 
messageName:String — 送信するメッセージ名です。
 
messageArguments:Object (default = null) — ジェネリックなオブジェクトの動的なインスタンス変数として指定されるメッセージ引数です。

関連項目



    // "setRefreshRate"メッセージを"rate"を"2000"にセットした引数と共に送信します。
    var messageArguments:Object = new Object();
    messageArguments.rate = "2000";
    connection.getServer().sendModuleMessage("setRefreshRate", messageArguments);
    
    // 上と同じですが、オブジェクトリテラルなシンテックスを使用しています。
    connection.getServer().sendModuleMessage("setRefreshRate", {rate:"2000"});
    
setIsWatchingForProcessedUPCs()メソッド 
public function setIsWatchingForProcessedUPCs(value:Boolean):void

パラメータ

value:Boolean

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

バージョン : Reactor 1.1.0

UPC処理通知の送信を停止するようサーバーに要求します。 デフォルトでは、stopWatchingForProcessedUPCs()には管理者権限が必要です。

関連項目

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

バージョン : Reactor 1.0.0

サーバーに現在の時間の送信を要求します。 時間を受信したとき、ServerEvent.TIME_SYNCが発生します。 サーバー上の現在の時間の近似値を取り出すにはgetServerTime()を使用します(つまり、最後の同期時間とクライアント上の経過時間の差)。 syncTime()が呼び出されなかった場合、getServerTime()はクライアントの接続開始時間とクライアント上の経過時間との和を返します。

関連項目

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

バージョン : Reactor 1.1.0

任意のUPCメッセージが処理されるごとに現クライアントに通知するようサーバーに要求します。 それらの通知はServerEvent.UPC_PROCESSEDイベントをトリガーします。 処理された各メッセージについての詳細はServerEventのgetUPCProcessingRecord()メソッドを通してアクセスできるUPCProcessingRecord内で提供されます。 デフォルトでは、watchForProcessedUPCs()には管理者権限が必要です。

関連項目

Event Detail
STOP_WATCHING_FOR_PROCESSED_UPCS_RESULT イベント
Event Object Type: ServerEvent
ServerEvent.type variable = net.user1.reactor.ServerEvent.STOP_WATCHING_FOR_PROCESSED_UPCS_RESULT

現クライアントによる『処理されたUPCの監視を停止』の試行結果をサーバーが報告するときに送出されます。 試行結果を診断するには、getStatus()を使用します。これは次の値をとる可能性があります。

関連項目

TIME_SYNC イベント  
Event Object Type: ServerEvent
ServerEvent.type variable = net.user1.reactor.ServerEvent.TIME_SYNC

現クライアントによって先に行われたServerのsyncTime()メソッド呼び出しの応答としてサーバーの現在時刻をサーバーが送信するときに送出されます。 ServerEvent.TIME_SYNCのリスナーは次のように、ServerのgetServerTime()メソッドを通してサーバー時間の近似値を取得できます。
     protected function timeSyncListener (e:ServerEvent):void {
       trace("Time is: " + Server(e.target).getServerTime());
     }
     
1970年を基準にしたミリ秒フォーマットの時間を人間が読める形式の日付と時刻に変換できるユーティリティについては、NumericFormatterクラスを参照してください。

関連項目

UPC_PROCESSED イベント  
Event Object Type: ServerEvent
ServerEvent.type variable = net.user1.reactor.ServerEvent.UPC_PROCESSED

現クライアントが"処理されたUPCメッセージ"を監視しているとき、サーバーが内向きのUPCメッセージの処理を完了するときに送出されます。 処理されたUPCメッセージを監視するには、ServerクラスのwatchForProcessedUPCs()メソッドを使用してください。 例えば、
     reactor.getServer().watchForProcessedUPCs();
     
処理されたUPCメッセージについての情報を取得するには、ServerEventクラスのgetUPCProcessingRecord()メソッドを使用してください。

関連項目

WATCH_FOR_PROCESSED_UPCS_RESULT イベント  
Event Object Type: ServerEvent
ServerEvent.type variable = net.user1.reactor.ServerEvent.WATCH_FOR_PROCESSED_UPCS_RESULT

現クライアントによる『処理されたUPCの監視』の試行結果をサーバーが報告するときに送出されます。 試行結果を診断するには、getStatus()を使用します。これは次の値をとる可能性があります。

関連項目