9月 2nd, 2007 admin 
Flash Media Serverを使って掲示板アプリケーションを作成するまでのメモです。そもそもFlashがわからないという僕のような人は
Flash 8 入門講座:ITpro
あたりを読むことから始めましょう。かなり充実しています。(僕はやっと第24回までいきました)
参考資料
今回参考にしたのは下記のサイトです。
環境と準備
- Windows
- Window版FMSのダウンロードとインストール
- Flash8のインストール
サービスの確認
- Macromedia Flash Media Server 2
- Start Flash Media Admin Server and Flash Media Server
Windows の場合、サーバーが稼動していることを確認するため
に、タスクマネージャを開いて、FMSAdmin.exe と FMSMaster.exe の両方が [ プロセス ] タブに表
示されていることを確認します。
そんな確認方法しかないらしいです。
サーバの準備
アプリケーションのセット
C:¥Program files¥Macromedia¥Flash Media Server 2¥applicationsの中にアプリケーション名でディレクトリを作成します。
今回は「bbs」にしました。
インスタンスの作成
管理画面からインスタンスを作成します。「インスタンスを作成=サーバを立てた」だと思います。
インスタンスを作成するときに名前を聞かれますが、今回は_defInst_で問題ありません。_defInst_はクライアントからインスタンス名が指定されなかった場合に接続される特別な名前だからです。
掲示板(チャット)の場合だとスレッド(トピック)ごとにインスタンスを作成するんだと思います。

サーバへの接続
アプリケーションは、RTMP (Real-Time Messaging Protocol) または RTMPS (Real-Time Messaging Protocol over SSL (Secure Socket Layer)) を使用して Flash Media Server に 接続できます。
my_nc = new NetConnection();
my_nc.connect("rtmp://localhost/bbs");


こんなコードを書いて実行してみると、サーバに接続できます。2行でいいなんてすごい。
BBSアプリケーションの作成
テクササイズ第6回
FlashMediaServer2を使ってみよう
ここのSharedObjectのスクリプトを参考に作ってみる。
my_nc = new NetConnection();
my_nc.connect("rtmp://localhost/bbs");
bbs();
function bbs(){
//sharedObjectを作る
//getRemoteメソッドの第一引数はSharedObjectの名前、第二引数はURL。URLはNetConnection.uriプロパティで取得できる。
so = SharedObject.getRemote("shared_text",my_nc.uri);
//SharedObjectが変更されたときの処理
//SharedObjectが変更されるとonSyncイベントが呼び出されるのでイベントハンドラメソッドを作る
so.onSync=function(){
trace("SharedObjectが変更されました");
comments.text=this.data.comments;//このスコープの中ではthisはsoを指す
}
//SharedObjectをサーバーに接続
so.connect(my_nc);
send.onRelease=function(){
so.data.comments += "\n" + myComment.text;
myComment.text = "";
}
テスト
なぜか最初にundefinedと表示されてしまうが、通信できるようになりました。
BBSを作る予定でしたがどちらかというとCHATですね。

connect()で指定しているアドレスをlocalhostから変更してやれば別のPCからでも接続できます。
サンプル
bbs.zip