Flash Media Server4.5 ⑧ ビデオチャットを作成する~その7~
「FlashMediaServer4.5(FMS)の環境を利用し、簡易ビデオチャットを作成する」の7回目です。
今回は第3回で実装したmain.ascについて詳しく説明していきます(第3回ではほとんど説明していなかったので)。
main.ascとは
main.ascはFMSサーバサイドのActionScriptを記述するファイルになります。
FMSではアプリケーションごとにディレクトリを作成します。
各アプリケーションディレクトリの中に、main.ascというテキストファイルを作り、その中にスクリプトを記述します。
- ファイル名はmain.ascでなくてもよい
main.ascという名称でなくても読みこまれます。
該当のディレクトリ(第3回では「/opt/adobe/fms/applications/test」)に配置すればよいです。 - リロードが必要
main.ascを編集していると、ファイルを更新したのに動作が変わらない、という事態が起きることがあります。
これは、main.ascの内容はリロードをかけないと再読み込みされないためです。
main.ascを編集したら、以下の画面でFMSのリロードをかけましょう。
※赤枠でくくったボタンがリロードです。
※画面のURLは「http://[fmsのIPアドレス]/fms_adminConsole.htm」です。
※adminServerが起動していないと上記の画面が表示されません。
起動方法はインストール手順をご確認ください。 - プログラムの説明
第3回でアップされたmain.ascファイルについて説明していきます。//アプリ開始 application.onAppStart = function(){ trace("onAppStart..."); };
applicationオブジェクトは、クライアント接続試行の受諾・拒否、クラスやプロキシの登録・登録解除、アプリケーションのライフサイクルの管理に使用します。
上記のonAppStartはサーバーがアプリケーションインスタンスをロードすると呼び出されます。//クライアント接続 application.onConnect = function(objClient) { application.acceptConnection(objClient); trace("onConnect..."); };
クライアントから NetConnection.connect() が実行されると、呼び出されます。
このfunction内で、クライアントからサーバーへの接続呼び出しを受諾します。
これがacceptConnectionになります。
traceされる内容は、FMSadminサーバのタブ「ViewApplication」の「LiveLog」に表示されます。
※実際のログファイルとしては、「/opt/adobe/fms/logs/_defaultVHost_/test/_definst_」に出力されます。//クライアント切断 application.onDisconnect = function(objClient) { trace("onDisconnect..."); };
クライアントがアプリケーションとの接続を切断すると、呼び出されます。
//アプリ終了 application.onAppStop = function(){ trace("onAppStop..."); };
サーバーがアプリケーションインスタンスをアンロードしようとすると呼び出されます。
まとめ
今回は、main.ascの基本的な説明をしてきました。
サーバサイドで処理を行うことにより、クライアント側だけでは実現できないことができるようになります。
次回からはいくつか例をあげて説明していきたいと思います。