Wowza::3.サンプルの仕組みを解析する3-1.batファイルからアプリケーションの構造をつかむ前回はBWCheckerというサンプルを用いてWowzaサーバーに接続してみました。Serverのアプリ開発の参考にしてみたいと思います。前回はexamples\BWCheckerディレクトリのinstall.batを実行してアプリを登録しました。このinstall.batの中身がヒントになりそうな気がします。install.batをテキストエディタで開いてみます。batファイルの中身は以下のようになっています。BWChecker...はbatファイルを実行した際に出力される文字ですね。出力はecho関数を用いるようですね。続いてexample\BWChecker\conf以下をサブディレクトリも含めて上書きコピーしています。なんかが参考になります。次の行でapplications\bwcheckディレクトリを作成しています。Red5やFMSはapplicationsディレクトリ以下のアプリ名ディレクトリにプログラムなどを配置するのですが、Wowzaはそうではないようで、ディレクトリのみ作成しています。examples\BWChecker\lib以下のファイルをWowzaインストールディレクトリのlibに配置。ディレクトリを見てみればわかりますが、ここに配置するファイルこそコンパイルされたプログラムコードです。wms-plugin-bwcheck.jarというのがBWCheckerでインストールされるjarファイルなのでインストール後に確認してみてください。こんな感じでdatファイルが実際はディレクトリ作成やファイルコピーを行っているだけであることがわかります。引き続き、jarファイルのソースと、クライアント側swfのソースコードを読んでみましょう。3-2.サーバーサイドのコードを読んでみるサーバー側のコードもサンプルはしっかり残してくれています。examples\BWChecker\src以下に置いてあるModuleBWCheck.javaがそれです。}}ソースコードを追う前に、package名とクラス名を確認します。nameになっていることが確認できたと思います。null)がクライアントのメソッドを呼び出している部分じゃなかなーなんて推測できますね。使っているのはFlashMediaServerのコードを書いたことのある人ならピンときますね。処理全体を詳細に書いているとページが巻き物のように長くなってしまうので、onConnectやclient.call("onBWCheck"・・・)などの箇所を記憶の片隅に置いて次はクライアント側のFlaファイルを見てみましょう。3-3.クライアント側のコードを読んでみるクライアント側のコードは\examples\BWChecker\client\bwchecker.fla内に書かれているので、Flash8とないしFlashCS3をお持ちでない方のために全文を掲載します。doGo;おう、久しぶりにActionScript2のコードを見ました。doGo;でボタンクリック後にdoGoメソッドが呼ばれ、doGOメソッドの中でNetConnectionインスタンスの生成。Wowzaサーバーへの接続を行っています。NetConnection.prototypeにいくつかの関数を設定していますが、この関数名はサーバー側でclient.callの第一引数に渡していた文字列と一致することがわかると思います。onBWDoneで定期的にdoBWCheckを呼び出し、ここで定期処理の解除を行っています。その後再びサーバーからonBWDoneが呼びだされますので、定期的に帯域情報を取得可能になっているようです。このサンプルの中でも、クライアントからサーバーにコール、サーバーからクライアントの関数実行などの処理の仕方が見て取れたと思います。次回は、公式のIDEを利用して実際に簡単なアプリケーションを作成してみようと思います。テキストチャットを作成してみる8.Linux(CentOS)環境にインストールする9.動画を配信、再生する10.SharedObjectを利用する11.ログイン処理のサンプル12.動画再生(動画ファイル編)13.AMFDataByteArrayで画像をサーバーに送信14.WowzaMediaServer2でSilverlight配信15.WowzaMediaServer2でLiveStreaming配信ActionScript3Papervision3DFlashMediaServerRed5WowzaMediaServerトッププログラミング書籍紹介サイト製作四方山噺Macブログ。