第5回 個人の動画配信補足のためのWeb構築

Slides:



Advertisements
Similar presentations
情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
Advertisements

1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
OWL-Sを用いたWebアプリケーションの検査と生成
情報基礎A 情報科学研究科 徳山 豪.
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
情報理工学部 情報システム工学科 3年 H 井奈波 和也
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
WEBから確認できる 駐車場管理システムについて
プログラミング言語としてのR 情報知能学科 白井 英俊.
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
TIES v8.5 TIES V8のインストール方法 TIES機能モジュールの利用方法 目次
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第5回
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
Lightweight Language Weekend ls-lRシェル
ネットワーク層.
☆これまでと、これからと☆ パソコンで携帯サイトをみる方法 誰でも利用できる環境の構築 Wiiリモコンを使った構内案内 ーー今回の発表ーー
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
第4回 個人の動画配信補足のためのWeb構築
第6章 2重ループ&配列 2重ループと配列をやります.
HTTPプロトコルとJSP (1) データベース論 第3回.
INSERT(x,p,L)の例 (一部) 磯 直行 2009年5月5日
HTTPプロトコル J2EE I 第7回 /
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
Day3 Day4 Day3 Day4.
早稲田大学教育学部数学科 Team:そらまめ
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第3回
C言語講座 第3回 ポインタ、配列.
ウイルスについて I98N044 久野耕介 I98N114 藤田和久
ソケットプログラム(TCP,UDP) EasyChat開発
マルチスレッド処理 マルチプロセス処理について
Cプログラミング演習 第7回 メモリ内でのデータの配置.
ソケットプログラム(TCP,UDP) EasyChat開発2
第7回 プログラミングⅡ 第7回
売れるためのWEBサイト構築.
アルゴリズムとデータ構造 補足資料5-1 「メモリとポインタ」
ネットワークプログラミング (5回目) 05A1302 円田 優輝.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
Talkプログラムのヒント 1 CS-B3 ネットワークプログラミング  &情報科学科実験I.
UDPマルチキャストチャット      空川幸司.
個人の動画配信のためのWebサーバ構築 06A1058 古江 和栄.
第6回 個人の動画配信補足のためのWeb構築
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第2回 FM10019 種田研究室 古江和栄
基礎プログラミング演習 第12回.
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 金子拓磨
コンパイラ 2011年10月20日
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
アルゴリズムとプログラミング (Algorithms and Programming)
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
第5回 プログラミングⅡ 第5回
精密工学科プログラミング基礎 第7回資料 (11/27実施)
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
岡村耕二 TCP通信プログラム 岡村耕二 情報ネットワーク.
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
モジュール分割.
ネットワークプログラミング 05A1302 円田 優輝.
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
Webプロキシ HTTP1.1 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
プログラミング演習II 2004年11月 2日(第3回) 理学部数学科・木村巌.
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

第5回 個人の動画配信補足のためのWeb構築 06A1058 古江 和栄

スライド一覧 1.前回のおさらい 2.SHOUTcastについて 3.プログラムの改良 4.本プログラムの解説 5.次回の予定 6.参考文献

1.前回のおさらい ユーザー定義関数について 表示 ソースコード ユーザー定義関数は「function 関数名 {関数}」                   によって定義することが出来る。 関数を呼び出すときは「関数名()」                   によって呼び出すことが出来る。 また、パラメータを関数に渡して処理するときは括弧内にパラメータを入力し、呼び出しを行う。 関数で処理させた値を受け取りたいときはreturnで返す値を指定する。 返す値を指定せずに()で呼び出した場合、functionで定義した時の規定の値を参照する。 表示 ソースコード

2、SHOUTcastについて SHOUTcastとは? メタデータとは? SHOUTcastとはwinampのプラグインであり、これを使うことでラジオ配信を行うことが出来る。(フリーウェア) 今回はこのSHOUTcastで行っているラジオに接続をかけ、メタデータを受信してそのラジオの現在の接続数、最大定員数、配信速度等を解析した。 メタデータとは? メタデータとはデータのデータのことや、送信されたデータに関する情報が記載されているデータのことである。 ヘッダと意味が似ているが、ヘッダはデータの先頭にデータに関する情報が記載されているため、少し違う。 メタデータはデータとは別に分かれている。 今回の場合、メタデータは音楽データの合間合間に入り込むように送信されている。

$sc_port, $errorno, $errormsg, 1); if (is_resource($server)){ $sc_host = "localhost"; $sc_port = "9999"; $server = fsockopen($sc_host,   $sc_port, $errorno, $errormsg, 1); if (is_resource($server)){ $out = "GET /7.html HTTP/1.0\r\n"; $out .= "Host: \r\n"; $out .= "User-Agent: Mozilla\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($server, $out); } //メタデータを最終端まで取得 while( ! feof($server)){ $saba .= fgets ($server , 4096); fsockopen インターネット接続 $sc_hostで指定したリソースへのソケット接続を開始する TCP、UDP、SSL、および TLSはサポートされている $sc_host = ホストのドメイン もしくはグローバルIPアドレス $sc_port = ホストのポート番号 $errorno、$errormsg エラーメッセージなどが出たとき保管する変数 1 = 接続タイムアウト時間(秒) fwrite = $serverに$outを書き込み feof($server) = $serverがファイル終端に達しているかどうかを調べる fgets($server , 4096) = $server(ファイルポインタ)からファイルを全て取り出す 4096は取り出すファイルの長さ(この場合4095バイト取り出す) ファイル長の記述がない場合は1024バイト取り出す。

3.プログラムの改良 表示 ソースコード メタデータを解析するだけなら前頁のプログラムでも出来るが、問題が多々ある。 1.実際に接続出来たときしか使えない。 2.無駄なデータが多い。 3.ひとつのアドレスしか指定できないため、汎用性がない。 など。 よって改良する。 第1段階 実際に接続できなかったときのことを考えてまずはエラー表記が出ないようにする。 fsockopenの前に@をつけるとエラー標記が出なくなる。これはファイルポインタ系統の命令なら全て効果があるのでそれらにつける。 (fsockopenで接続失敗したときにエラーメッセージが出ない) 無駄な情報の部分を削除するために、substr関数を使って無駄な部分を削除。 さらにexplode関数を使ってカンマごとに情報を配列に格納する。 これにより必要な情報をきれいに引き出せるようになる。 表示 ソースコード

第2段階 第3段階 表示 ソースコード While文による無限ループを防ぐためにif文を追加。 $errormsgに値が何も入っていない時(接続失敗していないとき)にのみwhile文を動かす。 $errormsgに値が追加されたとき(接続失敗したとき)に配列に「なし」を格納。 これにより、どの場合でも配列を参照し、値を見ることが出来るようになった。 表示 ソースコード 第3段階 このメタデータ解析をfunctionを使って呼び出し関数に設定。 同時にラジオ配信をしているかどうかの判定文を追加。 また、呼び出し関数化に伴い$array、$hantei、$linkをグローバル関数化 (function外からも変数を呼び出せるようにした。)

4.本プログラムの解説 表示 ソースコード global $link; $linkに呼び出し時に使う$hostと$portを代入し、アドレスを作る。 metadata(ドメイン,ポート番号)で関数呼び出し グローバル化した配列を用いてテーブルを作成 その他の部分は前頁で解説した通りの変更を行った。 表示 ソースコード

5.次回の予定 SHOUTcastによるラジオのメタデータ解析でしたが、これはフリーウェアなんで 解析が比較的簡単という所がある。 WMEはMS独自のプログラムなのでそもそもメタデータの解析の方法がわからないので、その辺を調べていく。 ただ、現状調べた限りではWMEのメタデータ解析について触れているサイトがまったくない状態なので、解析は不可能かもしれない。 もしかしたらここで終わりの可能性もなきにしもあらずといった状態です…。

6.参考文献 ソフトバンククリエイティブ PHPによるWebアプリケーションスーパーサンプル第2版 著 西沢直木 arz Nitelyってシステム屋どうよ?SHOUTcastについて調べてみる http://arznitely.com/document/?id=ja:free_lsl:shoutcast その他PHP関連サイト様

ご清聴ありがとうございました