FMSのサーバーサイドでできることのメモです
ごく簡単にですが、調べた範囲でのメモです。できるできないレベルの判断材料になれば。興味のある方がいたら深く書きます。
基本的なこと。ActionScript関連
- FMS側のASでできることはFlash5相当のActionScript2 と同じ
- ClassがないですがprototypeとregisterObject()関数によりクラス的なものが作れる
- アプリケーション起動時に自動的に生成されるインスタンスがある。(ApplicationクラスとClientクラス)
- ビルトインクラスもいくつかある。(SharedObjectクラス、Fileクラスなど)
- Array,Object,Number,Stringあたりの基本的なクラスも使える
- traceはコンソールからしか見れない
- 分割したファイルの読み込みはload()メソッドをつかう(ただしネストはできないらしい)
- 変数の型宣言はできない
SharedObjectについて
- リモートSharedObjectでクライアントとオブジェクトを共有できる
- クライアントのSWFとの通信でObjectやクラスインスタンスをやり取りできるが型情報は破棄される
- SharedObjectには永続型と非永続型があり、接続が終わってもアプリが残っていて情報が存続するモードを設定できる
- 永続と非永続のSharedObjectは同名でも別に管理される
- 永続の場合、SharedObjectから切断した後の変更は次回SharedObject接続時にクライアントに通知される
- リモートプロクシSharedObjectでFMSアプリ間の共有もできる
- 更新のバージョンがあり、復元可能。またこのバージョン履歴の深さを変更できる
サーバーアプリについて
- FMSアプリ内で別のFMSアプリと通信できる
- RTMPへの接続をほかのRTMPにリダイレクト(302に類似)処理できる
- リモートプロクシSharedObjectでFMSアプリ間の共有もできる
- FMSもメモリリークする。(おそらくSharedObjectまわりの実装による)
- ASCファイルの変更はアプリケーションのリスタートが必要