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

バージョン : Reactor 1.0.0

RoomManagerクラスはRoomオブジェクトへのアクセス、サーバー上のルームを生成、破壊、入室、観察するツールを提供します。 各Reactorは1つずつRoomManagerインスタンスをもち、ReactorのgetRoomManager()メソッドを通して次のようにアクセスできます。
  reactor.getRoomManager()
  
クライアント側のルーム表現にアクセスするには、Roomオブジェクトを返す、RoomManagerのgetRoom()メソッドを使用します。 例えば、次のコードはroomID "examples.chat" を持つルームへの参照を返します:
  reactor.getRoomManager().getRoom("examples.chat");
  
getRoom()を通してルームへのアクセス性を設定できるのは、現クライアントがサーバー上で把握しているルームに限られています。 現クライアントは次の方法でルームについての情報を得られます: サーバー側に新しいルームを作成するには、RoomManagerクラスのcreateRoom()メソッドを使用してください。 createRoom()が実行されたとき、RoomManagerは最初にActionScriptでRoomオブジェクトを生成してそれを返し、それからサーバーにメッセージを送信し、そのルームをサーバー側で生成されるように要求します。 クライアントアプリケーションはただちにそのRoomオブジェクトを使った処理が可能です。たとえば、join()を実行できます。 次のコードで実例を示します。
  var room:Room = reactor.getRoomManager().createRoom("examples.chat");
  room.join();
  
入室要求はルーム生成要求の後にサーバーに送信されます。 もしルーム生成の試行が拒否され、サーバーが実際にルームを生成しない場合、クライアントにその失敗が通知され、RoomManagerは対応するRoomオブジェクトへの参照を自動的に除去します。 入室の試行にも失敗し、RoomEvent.JOIN_RESULTイベントをトリガーします。

関連項目

Reactor.getRoomManager()


パブリック メソッド
 メソッド定義元
  
コンストラクタ
RoomManager
  
clientIsKnown(clientID:String):Boolean
ルームマネージャーが現在把握しているルームのいずれかにおいて指定したクライアントIDのクライアントが入室者、あるいは観察者であるとき true を返します。
RoomManager
  
createRoom(roomID:String = null, roomSettings:RoomSettings = null, attributes:XML = null, modules:RoomModules = null):Room
createRoom()メソッドはこのクライアント上で新しいRoomオブジェクトを生成し、それに一致するルームをサーバー側でも生成しようと試みます。
RoomManager
  
このRoomManagerのルームキャッシュから全てのルームを強制的に除去します。
RoomManager
  
getNumRooms(qualifier:String = null):int
現在RoomManagerが把握している範囲で指定の修飾子をもつルームの数を返します。
RoomManager
  
getRoom(roomID:String):Room
roomIDによって指定されるRoomインスタンスへの参照を返します。
RoomManager
  
RoomManagerのRoomClassRegistryオブジェクトを返します。これは全てのクライアント側のルームクラスを網羅します。
RoomManager
  
getRoomIDs():Array
このRoomManagerが把握しているRoomオブジェクトのルームIDの配列を返します。
RoomManager
  
getRooms():Array
このRoomManagerが把握しているRoomオブジェクトの配列を返します。
RoomManager
  
getRoomsWithQualifier(qualifier:String = null):Array
指定したルーム修飾子を持つRoomオブジェクトの配列を返します。
RoomManager
  
hasCachedRoom(roomID:String):Boolean
もしRoomManagerが指定したroomIDのRoomオブジェクトをキャッシュしたルームのリスト内に持っている場合はtrueを返します。それ以外の場合はfalseを返します。
RoomManager
  
hasObservedRoom(roomID:String):Boolean
もし現クライアントが指定したルームを観察していることが把握できている場合、trueを返します。それ以外の場合はfalseを返します。
RoomManager
  
hasOccupiedRoom(roomID:String):Boolean
もし現クライアントが指定したルーム内にいることが把握できている場合、trueを返します。それ以外の場合はfalseを返します。
RoomManager
  
hasWatchedRoom(roomID:String):Boolean
もしRoomManagerが指定したroomIDのRoomオブジェクトを監視中ルームのリスト内に持っている場合はtrueを返します。それ以外の場合はfalseを返します。
RoomManager
  
isWatchingQualifier(qualifier:String):Boolean
現クライアントが指定した修飾子を監視するかどうかを指定します。
RoomManager
  
joinRoom(roomID:String, password:String = null, updateLevels:UpdateLevels = null):Room
現クライアントをサーバー側のルームに配置するようにサーバーに要求します。
RoomManager
  
observeRoom(roomID:String, password:String = null, updateLevels:UpdateLevels = null):Room
observeRoom()メソッドはクライアントがルームに入室することなくその状態と活動を監視するための手段を提供します。
RoomManager
  
removeRoom(roomID:String, password:String = null):void
指定したルームの除去をサーバーに要求します。
RoomManager
  
roomIsKnown(roomID:String):Boolean
もし指定したルームがRoomManagerによって把握されていればtrueを返します。
RoomManager
  
sendMessage(messageName:String, rooms:Array, includeSelf:Boolean = false, filters:IFilter = null, ... rest):void
roomsで指定したルーム内のクライアントにメッセージを送信します。
RoomManager
  
stopWatchingForRooms(roomQualifier:String = null):void
サーバーにルームの監視停止を要求します。
RoomManager
  
watchForRooms(roomQualifier:String = null):void
指定の修飾子を持つルームが生成または除去されたときにはいつでも通知を送るようにサーバーに要求します。
RoomManager
Events
 Event Summary 定義元
   現クライアントによって行われたルーム作成の試行結果をサーバーが報告するときに送出されます。RoomManager
   先に行われたルーム入室要求の結果を取得したときに送出されます。RoomManager
   先に行われたルーム退室要求の結果を取得したときに送出されます。RoomManager
   先に行われたルーム観察要求の結果を取得したときに送出されます。RoomManager
   現クライアントによって行われたルーム除去の試行結果をサーバーが報告するときに送出されます。RoomManager
   現クライアントが新たなルームを把握したときに送出されます。RoomManager
   RoomManagerEvent.ROOM_ADDED および RoomManagerEvent.ROOM_REMOVEDによって記述されるように、RoomManagerがルーム情報を得るか失うかするときに送出されます。RoomManager
   現クライアントが新たなルームを把握できなくなったときに送出されます。RoomManager
   先に行われた観察停止要求の結果を取得したときに送出されます。RoomManager
   現クライアントによって行われたルーム監視停止の試行結果をサーバーが報告するときに送出されます。RoomManager
   現クライアントによって行われたルーム監視の試行結果をサーバーが報告するときに送出されます。RoomManager
コンストラクタの詳細
RoomManager()コンストラクタ
public function RoomManager(reactor:Reactor)

コンストラクタ

パラメータ
reactor:Reactor — このRoomManagerを生成したReactorのインスタンスです。
メソッドの詳細
clientIsKnown()メソッド
public function clientIsKnown(clientID:String):Boolean

バージョン : Reactor 1.0.0

ルームマネージャーが現在把握しているルームのいずれかにおいて指定したクライアントIDのクライアントが入室者、あるいは観察者であるとき true を返します。

パラメータ

clientID:String

戻り値
Boolean

関連項目

createRoom()メソッド 
public function createRoom(roomID:String = null, roomSettings:RoomSettings = null, attributes:XML = null, modules:RoomModules = null):Room

バージョン : Reactor 1.0.0

createRoom()メソッドはこのクライアント上で新しいRoomオブジェクトを生成し、それに一致するルームをサーバー側でも生成しようと試みます。 roomIDが指定されると、新しいルームにはそのIDが与えられます。 指定がない場合、サーバーは自動的にルームIDを生成します。 ルーム生成試行の結果はRoomManagerEvent.CREATE_ROOM_RESULTイベントを通して返されます。

パラメータ

roomID:String (default = null) — 新しいルームの完全修飾IDのストリング値です。 たとえば、"examples.chat"です。 もしroomIDが指定されない場合、そのルームのIDはサーバーによって自動的に生成され、RoomManagerEvent.CREATE_ROOM_RESULTを通して返されます。
 
roomSettings:RoomSettings (default = null) — 新しいルームにおける初期設定を含むRoomSettingsオブジェクトです。 詳細はRoomSettingsクラスを参照してください。
 
attributes:XML (default = null) — 次のようなフォーマットの、ルーム属性の初期設定を記述したXMLオブジェクトです。
    <ATTRIBUTES>
      <ATTRIBUTE>
        <NAME>attrName</NAME>
        <VALUE>attrValue</VALUE>
        <SHARED>true|false</SHARED>
        <PERSISTENT>true|false</PERSISTENT>
        <IMMUTABLE>true|false</IMMUTABLE>
      </ATTRIBUTE>
    </ATTRIBUTES>
    
 
modules:RoomModules (default = null) — そのルームにおけるサーバー側のモジュールを指定するRoomModulesオブジェクトです。 詳細はRoomModulesクラスを参照してください。

戻り値
Room — もしroomIDパラメータがnullでない場合、クライアントが作成しようとしているルームを表すRoomオブジェクトを返します。 もしroomIDパラメータがnullの場合、nullを返します(この場合、通常はRoomManagerEvent.CREATE_ROOM_RESULTを通して動的に生成されたroomIDが返され、その後に現クライアントがそのルームへのアクセスを取得できます)。

関連項目



次のコードは新しいルーム"chat"を生成します。 ルームは永続的です(空室になっても自動的に除去されません)。 このルームの最大入室数は50クライアントです。 このルームはパスワード無しで入室可能で、初期にはルーム属性を何も持たず、自作のサーバーサイドモジュールもありません。
var settings:RoomSettings = new RoomSettings();
    settings.removeOnEmpty = false;
    settings.maxClients = 50;
    var room:Room = connection.getRoomManager().createRoom(roomID,
                                                           settings);
二つの異なるクライアントが順番にcreateRoom()を呼び出すとき、初めのルーム生成要求は成功してStatus.SUCCESSステータスのRoomManagerEvent.CREATE_ROOM_RESULTイベントが初めのクライアントにおいてトリガーされるでしょう。 二つ目のルーム生成要求はRoomManagerEvent.CREATE_ROOM_RESULTイベントを二つ目のクライアント上でトリガーし、ステータスの値にStatus.ROOM_EXISTSを持ちます。 この"全クライアントがルームを作成を試行するが、最初の一つのみが成功する"アーキテクチャーはReactorにおいて普遍的なものです。なぜなら、これは"最初にルームが存在するかどうかチェックしてから作成を要求する"よりも通信量が少なくなるからです。
disposeCachedRooms()メソッド 
public function disposeCachedRooms():void

バージョン : Reactor 1.0.0

このRoomManagerのルームキャッシュから全てのルームを強制的に除去します。 ルームは次の状況でルームキャッシュに追加される可能性があります:

これらのケースのそれぞれにおいて、もしRoomManagerがまだ指定のroomIDを持つRoomオブジェクトへの参照を持っていない場合、RoomManagerはそのルームが将来存在しているだろうという期待のもと、楽観的にRoomオブジェクトを生成します。 例えば、クライアントが次のコードを呼び出すとします:
     reactor.getRoomManager().joinRoom("examples.chat");
     
もしRoomManagerがまだルームID"examples.chat"を持つルームへの参照を持っていない場合、そのIDに対するRoomオブジェクトを作成し、それをルームキャッシュに追加し、その後"ルーム入室"要求をUnionサーバーに送信します。 もしそのルームがサーバー上に存在して、そのクライアントが入室に成功したことをサーバーが報告する場合、RoomManagerはそのRoomオブジェクトを自身の"入室済みルーム"リストに追加します。 もしそのクライアントがルームから退室すると、RoomManagerはそのRoomオブジェクトをその入室者ありのルームリストから除去しますが、ルームキャッシュからはそのルームを除去しません。 かわりに、そのクライアントが将来そのルームに再び入室する可能性の期待のもと、そのRoomオブジェクトはキャッシュに残ります。 もし現クライアントがそのルームがサーバーから除去されたことを知ることになれば、RoomManagerはそのルームを自身のルームキャッシュから除去します。 そうでない場合は、Roomオブジェクトはキャッシュから決して除去されず、アプリケーションのコードからdisposeChachedRooms()を呼び出してキャッシュを手動でパージしなければなりません。 Roomオブジェクトがルームキャッシュから除去されるとき、もしそのRoomManagerがそのオブジェクトへの他の参照を持っていない場合、そのRoomオブジェクトのデータはRoomオブジェクトがキャッシュから除去される前に破棄され、RoomオブジェクトはもはやUnionサーバーとの通信には使用できなくなります。

関連項目

getNumRooms()メソッド 
public function getNumRooms(qualifier:String = null):int

バージョン : Reactor 1.0.0

現在RoomManagerが把握している範囲で指定の修飾子をもつルームの数を返します。 サーバーに存在していてもクライアント側のルームマネージャーに把握されていないルームはgetNumRooms()が返す値に反映されません。 RoomManagerをサーバーのルームリストに同期させるには、watchForRooms()を使用してください(これはRoomManagerを自動的にサーバーのルームリストに同期させます)。

パラメータ

qualifier:String (default = null) — 戻り値としてカウントするルームの修飾子を指定します。 例えば、getNumRooms("example") は修飾子"example"をルームIDにもつルームの数を返します。 もし修飾子が省略された場合、getNumRooms()はRoomManagerが把握しているルームの合計数を返します。

戻り値
int — RoomManagerが把握している範囲で指定の修飾子をもつルームの数を示すint値を返します。

関連項目

getRoom()メソッド 
public function getRoom(roomID:String):Room

バージョン : Reactor 1.0.0

roomIDによって指定されるRoomインスタンスへの参照を返します。 該当するRoomインスタンスが存在しない場合はnullを返します。

パラメータ

roomID:String — 取り出すRoomオブジェクトの完全修飾IDです。

戻り値
Room


次のコードは"chatrooms.sportschat"というIDを持つRoomインスタンスの参照を返します。
reactor.getRoomManager().getRoom("chatrooms.sportschat");
getRoomClassRegistry()メソッド 
public function getRoomClassRegistry():RoomClassRegistry

バージョン : Reactor 1.0.0

RoomManagerのRoomClassRegistryオブジェクトを返します。これは全てのクライアント側のルームクラスを網羅します。

戻り値
RoomClassRegistry

関連項目

getRoomIDs()メソッド 
public function getRoomIDs():Array

バージョン : Reactor 1.0.0

このRoomManagerが把握しているRoomオブジェクトのルームIDの配列を返します。 配列はRoomManagerが把握しているルームリスト内のルームIDのコピーであり、getRoomIDs()を呼び出した後は更新されません。 ルームIDのかわりにRoomインスタンスの配列を取り出すには、RoomManagerのgetRoom()メソッドを使用してください。

戻り値
Array — ルームIDのストリング値の配列です。

関連項目

getRooms()メソッド 
public function getRooms():Array

バージョン : Reactor 1.0.0

このRoomManagerが把握しているRoomオブジェクトの配列を返します。 リストにはRoomManagerが存在を確認したルームのみが含まれ、RoomManagerがjoinRoom()呼び出しのような未完の操作によって先を見越して生成されたルームは含みません。 配列はRoomManagerが把握しているルームリストの一時的なコピーであり、getRooms()を呼び出した後は更新されません。

戻り値
Array

関連項目

getRoomsWithQualifier()メソッド 
public function getRoomsWithQualifier(qualifier:String = null):Array

バージョン : Reactor 1.0.0

指定したルーム修飾子を持つRoomオブジェクトの配列を返します。 この配列は一時的なスナップショットであり、getAllRooms()の呼び出し後には更新されません。 修飾子が指定されない場合、全てのルームを返します(getRooms()と同様です)。

パラメータ

qualifier:String (default = null)

戻り値
Array — Roomインスタンス(またはRoomのサブクラスのインスタンス)を含む配列です。

関連項目

hasCachedRoom()メソッド 
public function hasCachedRoom(roomID:String):Boolean

バージョン : Reactor 1.0.0

もしRoomManagerが指定したroomIDのRoomオブジェクトをキャッシュしたルームのリスト内に持っている場合はtrueを返します。それ以外の場合はfalseを返します。 watchForRooms()を参照してください。

パラメータ

roomID:String — "eaxmples.chat"のような完全修飾ルームIDです。

戻り値
Boolean

関連項目

hasObservedRoom()メソッド 
public function hasObservedRoom(roomID:String):Boolean

バージョン : Reactor 1.0.0

もし現クライアントが指定したルームを観察していることが把握できている場合、trueを返します。それ以外の場合はfalseを返します。 observeRoom()を参照してください。

パラメータ

roomID:String — "eaxmples.chat"のような完全修飾ルームIDです。

戻り値
Boolean

関連項目

hasOccupiedRoom()メソッド 
public function hasOccupiedRoom(roomID:String):Boolean

バージョン : Reactor 1.0.0

もし現クライアントが指定したルーム内にいることが把握できている場合、trueを返します。それ以外の場合はfalseを返します。 joinRoom()を参照してください。

パラメータ

roomID:String — "eaxmples.chat"のような完全修飾ルームIDです。

戻り値
Boolean

関連項目

hasWatchedRoom()メソッド 
public function hasWatchedRoom(roomID:String):Boolean

バージョン : Reactor 1.0.0

もしRoomManagerが指定したroomIDのRoomオブジェクトを監視中ルームのリスト内に持っている場合はtrueを返します。それ以外の場合はfalseを返します。 watchForRooms()を参照してください。

パラメータ

roomID:String — "eaxmples.chat"のような完全修飾ルームIDです。

戻り値
Boolean

関連項目

isWatchingQualifier()メソッド 
public function isWatchingQualifier(qualifier:String):Boolean

バージョン : Reactor 1.0.0

現クライアントが指定した修飾子を監視するかどうかを指定します。

パラメータ

qualifier:String

戻り値
Boolean

関連項目

joinRoom()メソッド 
public function joinRoom(roomID:String, password:String = null, updateLevels:UpdateLevels = null):Room

バージョン : Reactor 1.0.0

現クライアントをサーバー側のルームに配置するようにサーバーに要求します。 ルームが既にクライアント側のルームオブジェクトによって現されていない場合は、生成して返します。 その試行結果を受信したとき、RoomEvent.JOIN_RESULTイベントがRoomManagerと入室したRoomの両方を通して送出されます。 もし要求の試行が成功すれば、そのRoomを通してRoomEvent.JOINイベントも送出されます。 続いてRoomオブジェクトは現クライアントに指定された更新レベルに基づいて最新状態に保たれます(UpdateLevelsクラスを参照してください)。

RoomManagerのjoinRoom()メソッドは機能的にRoomのjoin()メソッドと等価ですが、Roomオブジェクトが存在していなくても使用できる点が異なります。

パラメータ

roomID:String — 入室するルームの完全修飾ルームIDです。
 
password:String (default = null) — オプションとしてルームへの入室に必要なパスワードです。
 
updateLevels:UpdateLevels (default = null) — このルームについてそのクライアントの更新レベルを指定します。更新レベルはこのルームに入室あるいは観察している間に、このルームについてサーバーから受信する情報量を記述します。 詳細はUpdateLevelsクラスを参照してください。

戻り値
Room — 入室されたルームです。

関連項目

observeRoom()メソッド 
public function observeRoom(roomID:String, password:String = null, updateLevels:UpdateLevels = null):Room

バージョン : Reactor 1.0.0

observeRoom()メソッドはクライアントがルームに入室することなくその状態と活動を監視するための手段を提供します。 例えば、チャットモデレーターのクライアントが実際に参加せずともチャットを監視するためにチャットルームを観察することができます。

observeRoom()が実行されるとき、クライアントは指定したルームの観察開始要求を送信します。 もしその要求が成功すると、対応するクライアント側のRoomオブジェクトはサーバーと同期され、その後は指定の更新レベルに対応して最新の状態に保たれます(UpdateLevelsクラスを参照してください)。

ルームの観察要求が完了するとき、RoomEvent.OBSERVE_RESULTイベントがRoomManagerと観察されるRoomを通して送出されます。 もしその要求が成功すると、RoomEvent.OBSERVEもRoomを通して送出されます。

クライアントはルームを観察でき、すると観察状態に影響を及ぶことなく任意にそのルームへ入退室できます。

RoomManagerのobserveRoom()メソッドは機能的にRoomのobserve()メソッドと等価ですが、Roomオブジェクトが存在していなくても使用できる点が異なります。

パラメータ

roomID:String — 観察するルームの完全修飾IDです。
 
password:String (default = null) — ルームの観察に使われるオプションのパスワードのストリング値です。
 
updateLevels:UpdateLevels (default = null) — このルームについてそのクライアントの更新レベルを指定します。更新レベルはこのルームに入室あるいは観察している間に、このルームについてサーバーから受信する情報量を記述します。 詳細はUpdateLevelsクラスを参照してください。

戻り値
Room — 観察されているルームへの参照ですが、観察要求が送信できなかった場合にはnullです。

関連項目

removeRoom()メソッド 
public function removeRoom(roomID:String, password:String = null):void

バージョン : Reactor 1.0.0

指定したルームの除去をサーバーに要求します。 この試行の結果は現クライアント上でRoomManagerEvent.REMOVE_ROOM_RESULTイベントをトリガーします。 ルーム除去が成功して、対応するルームが不明になったクライアント側のRoomオブジェクトがあるとき、そのRoomオブジェクトは自動的に除去されます。

除去時にルームに入室しているクライアントは自動的にルームから強制退出され、RoomEvent.LEAVEイベントがトリガーされます。

パラメータ

roomID:String — 除去するルームの完全修飾IDです。 たとえば、"examples.chat"です。
 
password:String (default = null) — ルームを除去するのに必要なパスワードです。

関連項目

roomIsKnown()メソッド 
public function roomIsKnown(roomID:String):Boolean

バージョン : Reactor 1.0.0

もし指定したルームがRoomManagerによって把握されていればtrueを返します。 ルームは現クライアントが入室か観察に成功するか、RoomManagerの監視ルームリスト(watchForRooms()を参照)内にあるときに把握されます。

パラメータ

roomID:String

戻り値
Boolean

関連項目

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

バージョン : Reactor 1.0.0

roomsで指定したルーム内のクライアントにメッセージを送信します。 一つだけのルーム内のクライアントにメッセージを送信するには、RoomのsendMessage()メソッドを使用します。

ルームについてのメッセージを受信したくないクライアントは、RoomクラスのsetUpdateLevels()メソッドによってメッセージを止めることができます。

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

msgManager.addMessageListener("CHAT_MESSAGE", centralChatListener);

メッセージリスナーは必須パラメータを必ず定義しなければなりません。詳細は、MessageManagerクラスのaddMessageListener()メソッドを参照してください。 次のコードはメッセージリスナーの例、centralChatListener()を示します。これは "CHAT_MESSAGE" メッセージが現クライアントが入室あるいは観察している任意のルームに送信されると常に呼びだされます:

    public function centralChatListener (fromClient:IClient,
                                         toRoom:Room,
                                         chatMessage:String):void {
    

与えられた修飾子で直接 (再帰的でなく) 修飾されるIDを持つ全てのルームにメッセージを送信するには、sendMessage()のroomsパラメータでその修飾子を指定し、アステリスクを続けて書きます。 例えば、次のコードは"examples"で修飾される全ルームに"CHAT_MESSAGE"を送信します。

    reactor.getRoomManager().sendMessage("CHAT_MESSAGE", 
                                         ["examples.], 
                                         true, 
                                         null,
                                         "hi there");
    

サーバー上の全クライアントにメッセージを送信するには、ServerクラスのsendMessage()メソッドを使用します。

パラメータ

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

関連項目

stopWatchingForRooms()メソッド 
public function stopWatchingForRooms(roomQualifier:String = null):void

バージョン : Reactor 1.0.0

サーバーにルームの監視停止を要求します。 応答として、サーバーは指定したroomQualifierを持つルームが追加または除去されるときにもう通知を送信しません。 stopWatchingForRooms()要求の結果はRoomManagerEvent.STOP_WATCHING_FOR_ROOMS_RESULTイベントを通して返されます。

パラメータ

roomQualifier:String (default = null) — 監視を停止するルームIDの修飾子です(例えば、"examples.chat.sports"です)。 無名の修飾子を持つルームの監視を停止するには、roomQualifierを空の文字列("")にセットしてください。 サーバー上の全ルームの監視を停止するには、roomQualifierをnullにするか省略してください。

関連項目

watchForRooms()メソッド 
public function watchForRooms(roomQualifier:String = null):void

バージョン : Reactor 1.0.0

指定の修飾子を持つルームが生成または除去されたときにはいつでも通知を送るようにサーバーに要求します。 この通知はRoomManagerEvent.ROOM_ADDEDかRoomManagerEvent.ROOM_REMOVEDのどちらかのイベントをトリガします。 クライアントは通常はアプリケーションのロビーを作るためにwatchForRooms()を使用します。これはユーザーのルーム選択用に動的なルームリストを提供します。 watchForRooms()要求の結果はRoomManagerEvent.WATCH_FOR_ROOMS_RESULTを通して返されます。

パラメータ

roomQualifier:String (default = null) — 監視するルームIDの修飾子です(例えば、"examples.chat.sports"です)。 無名の修飾子を持つルームを監視するには、roomQualifierを空の文字列("")にセットしてください。 サーバー上の全ルームを監視するには、roomQualifierをnullにするか省略してください。

関連項目

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

現クライアントによって行われたルーム作成の試行結果をサーバーが報告するときに送出されます。 試行結果を診断するには、getStatus()を使用します。これは次の値をとる可能性があります。

RoomManagerEvent.CREATE_ROOM_RESULTは現クライアントがルーム生成を試行するときにのみトリガーされ、他のクライアントのルーム生成試行や、現クライアントが新たなルームを把握したときにはトリガーされないことに注意してください。 他のクライアントによるルーム生成に応答するには、watchForRooms()とRoomManagerEvent.ROOM_ADDEDイベントを使用してください。

関連項目

JOIN_RESULT イベント  
Event Object Type: RoomEvent
RoomEvent.type variable = net.user1.reactor.RoomEvent.JOIN_RESULT

先に行われたルーム入室要求の結果を取得したときに送出されます。 要求の結果を確認するためには、getStatus()を使用してください。これは次の戻り値のうちどれかになります:

もしルーム入室要求が成功した場合、RoomEvent.JOINイベントもトリガーされます。

関連項目

LEAVE_RESULT イベント  
Event Object Type: RoomEvent
RoomEvent.type variable = net.user1.reactor.RoomEvent.LEAVE_RESULT

先に行われたルーム退室要求の結果を取得したときに送出されます。 要求の結果を確認するためには、getStatus()を使用してください。これは次の戻り値のうちどれかになります:

もしその入退室要求が成功した場合、RoomEvent.LEAVEイベントもトリガーされます。

関連項目

OBSERVE_RESULT イベント  
Event Object Type: RoomEvent
RoomEvent.type variable = net.user1.reactor.RoomEvent.OBSERVE_RESULT

先に行われたルーム観察要求の結果を取得したときに送出されます。 要求の結果を確認するためには、getStatus()を使用してください。これは次の戻り値のうちどれかになります:

関連項目

REMOVE_ROOM_RESULT イベント  
Event Object Type: RoomManagerEvent
RoomManagerEvent.type variable = net.user1.reactor.RoomManagerEvent.REMOVE_ROOM_RESULT

現クライアントによって行われたルーム除去の試行結果をサーバーが報告するときに送出されます。 試行結果を診断するには、getStatus()を使用します。これは次の値をとる可能性があります。

関連項目

ROOM_ADDED イベント  
Event Object Type: RoomManagerEvent
RoomManagerEvent.type variable = net.user1.reactor.RoomManagerEvent.ROOM_ADDED

現クライアントが新たなルームを把握したときに送出されます。 現クライアントは次の状況でルームを把握できるようになります。 ROOM_ADDEDとCREATE_ROOM_RESULTとの間の違いに注意してください: ROOM_ADDEDはRoomManagerがルームを把握したことを示します。 CREATE_ROOM_RESULTはサーバー側がルーム生成を試行した結果を現クライアントに単に通知します。

関連項目

ROOM_COUNT イベント  
Event Object Type: RoomManagerEvent
RoomManagerEvent.type variable = net.user1.reactor.RoomManagerEvent.ROOM_COUNT

RoomManagerEvent.ROOM_ADDED および RoomManagerEvent.ROOM_REMOVEDによって記述されるように、RoomManagerがルーム情報を得るか失うかするときに送出されます。 新しいルーム数を調べるには、RoomManagerEventのgetNumRooms()メソッドかRoomManagerのgetNumRooms()メソッドを使用してください。

関連項目

ROOM_REMOVED イベント  
Event Object Type: RoomManagerEvent
RoomManagerEvent.type variable = net.user1.reactor.RoomManagerEvent.ROOM_REMOVED

現クライアントが新たなルームを把握できなくなったときに送出されます。 現クライアントは次の状況でルームを把握できなくなります。

関連項目

STOP_OBSERVING_RESULT イベント  
Event Object Type: RoomEvent
RoomEvent.type variable = net.user1.reactor.RoomEvent.STOP_OBSERVING_RESULT

先に行われた観察停止要求の結果を取得したときに送出されます。 要求の結果を確認するためには、getStatus()を使用してください。これは次の戻り値のうちどれかになります:

関連項目

STOP_WATCHING_FOR_ROOMS_RESULT イベント  
Event Object Type: RoomManagerEvent
RoomManagerEvent.type variable = net.user1.reactor.RoomManagerEvent.STOP_WATCHING_FOR_ROOMS_RESULT

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

関連項目

WATCH_FOR_ROOMS_RESULT イベント  
Event Object Type: RoomManagerEvent
RoomManagerEvent.type variable = net.user1.reactor.RoomManagerEvent.WATCH_FOR_ROOMS_RESULT

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

関連項目