Content-Type: text/event-stream冒頭のContent-TypeとCache-Controlはヘッダー情報として送られるため、実際にコンテンツとして送信されるのは「data:……」という部分になります。このように、data:で始まるテキストが送られら場合(すなわち、何のイベント名も設定されていない場合)、EventSourceではonmessageイベントが発生します。
Cache-Control: no-cache
data: ……送信内容……
Content-Type: text/event-streamこれが、カスタム・イベントを利用する場合の出力です。ヘッダー部分は全く同じですが、コンテンツの部分が違っています。まず「event:……」という文が送られ、それから「data:……」が送られます。この「event:」の後に記述されるのが、イベント名です。このようにして送られたメッセージは、EventSourceオブジェクトでは、event:で指定されたイベントが発生したものとして扱われます。
Cache-Control: no-cache
event: イベント名
data: ……送信内容……
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※event.phpの修正 <?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); $msgs = array("Hello","Welcome.","こんにちは。","やっほ~", "ではでは。","お元気?","ニーハオ","ボンジュ~ル","スパシーボ♥","ばいば~い!!"); $n = rand(0,9); if ($n == 0){ echo "event: start\n"; } if ($n == 9){ echo "event: end\n"; } echo "data: " . $msgs[$n] . "\n\n"; flush(); ?>
<< 前へ | 次へ >> |