第4回 個人の動画配信補足のためのWeb構築 06A1058 古江 和栄
1.前回のおさらい 2.PHPの基本 その1 3.PHPの基本 その2 4.PHPの基本 その3 5.WMEのレスポンス解析 6.次回の予定 スライド一覧 1.前回のおさらい 2.PHPの基本 その1 3.PHPの基本 その2 4.PHPの基本 その3 5.WMEのレスポンス解析 6.次回の予定 7.参考資料
1.前回のおさらい PHPは「PHP Hypertext Preprocessor」の略で、 C言語やJAVA、Perlなどと同じプログラミング言語のこと。 Webサーバに置かれるソフトウエアの Apacheモジュールとして動作するスクリプト言語。 HTML文書中に記述されたスクリプトを PHPが実行し、結果を HTMLデータとしてWebブラウザに出力する仕組み。 PHPで作られたWebページはアドレスの末尾が「.html」ではなく「.php」や「.php3」といったものになっている。
2.PHPの基本 その1 表示 ソースコード PHPを利用するには 文字列の表示について <?php>と<?>の間にphpのプログラムを書くだけでOK。 html言語との両立も可能なので、利用しやすい。 文字列の表示について 文字列を表示するにはecho “~”;と書けばよい。 ちなみにecho '~';と表記すると表記そのままで表示される。 (変数名は変数名そのままで表記される。) 表示 ソースコード
3.PHPの基本 その2 ユーザー定義関数について 表示 ソースコード ユーザー定義関数は「function 関数名 {関数}」 によって定義することが出来る。 関数を呼び出すときは「関数名()」 によって呼び出すことが出来る。 また、パラメータを関数に渡して処理するときは括弧内にパラメータを入力し、呼び出しを行う。 関数で処理させた値を受け取りたいときはreturnで返す値を指定する。 返す値を指定せずに()で呼び出した場合、functionで定義した時の規定の値を参照する。 表示 ソースコード
4.PHPの基本 その3 表示 ソースコード 文字列の検索について ある一定の文字列から別の一定の文字列を検索することをパターンマッチングという。 文字列検索には普通に文字をそのまま打ち込むのではなく、メタ文字というものを利用してさまざまな検索に対応させることが可能である。 文字列の検索には通常strstr関数を用いるが 今回はereg関数(正規表現)を用いる。 eregi関数を用いる場合大文字小文字の区別なく検索が可能になる。 WMEからのレスポンスをこのereg関数を用いて解析し 結果をWebページに反映する。 表示 ソースコード
5.WMEのレスポンス解析 必要なこと・足りないこと サーバ側はConnection部分をkeep-Aliveされる。 クライアントからサーバへのリクエスト POST /test HTTP/1.1 Content-Type: application/x-wms-pushsetup X-Accept-Authentication: NTLM, Digest User-Agent: WMEncoder/9.0.0.3287 Host: 192.168.0.1:8080 Content-Length: 0 Connection: Keep-Alive Cache-Control: no-cache Cookie: push-id=0 サーバからクライアントへのレスポンス HTTP/1.1 204 No Content Server: Servet-agent Content-Length: 0 Date: Tue, 09 Jan 2007 10:02:58 GMT Pragma: no-cache, timeout=60000 Cache-Control: no-cache Set-Cookie: push-id=35201712 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache, com.microsoft.wm.startupprofile サーバ側はConnection部分をkeep-Aliveされる。 レスポンスのSupported以下の部分は関係なさそうなので除外して考える。 これだけではまだ情報が足りないのでパケット解析によるレスポンスの調査も行う。 また、動画配信していない際のレスポンスも調査する。 必要なこと・足りないこと
6.次回の予定 PHPとhtml言語によるプロトタイプページ作成 WMEのレスポンス解析をさらに続ける
7.参考文献 PHP 基礎編9 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm nabeの雑記帳様よりHTTP asf (wmv/wma)ストリームのpush配信プロトコル http://nabe.blog.abk.nu/0121
ご清聴ありがとうございました