PHPとJavaScriptでAjaxストリーミングの続き
IE8-9専用PHPコード ajax-stream-test-for-ie.php
header("Access-Control-Allow-Origin: *"); header("Content-type: text/event-stream; charset=utf-8"); ob_end_flush(); ob_start('mb_output_handler'); echo str_repeat(' ', 2048); for ($i = 0; $i < 10; $i++) { $string = ($i + 1) * 10 ."件の処理を完了しました⇒Ajaxストリーミングのデモページ(Internet Explorerのバージョン8以上で見てください) また、ここから一歩進んでPHPとデータベースを利用して、サーバー側で変化があったときに、ストリーミング的にクライアント側にデータを送信するやり方を実装してみました。まず、クライアント側でアクションがあった場合、即時XHRリクエストをし、一方で常時サーバー側の変化を監視するため、接続を張りっぱなしにし(実際には二十秒ごとに張り直しをしています)、サーバーで変化(データベースの更新など)が起きたら、HTTPストリーミングを利用してリアルタイムデータを返すようにしています。 ⇒HTTPストリーミングでクライアントとサーバーを連動させるテスト
\n"; echo $string; ob_flush(); flush(); sleep(1); }