sse.html

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <script>
   var source;
   function init(){
    var url="http://localhost/eventsource/server.php";
    try{
     source=new EventSource(url);
     source.onopen=function(event){
     log("连接已建立"+this.readyState);
    };
      source.onmessage=function(event){
       log("<b>接收到的数据:"+event.data+"</b>");
      };
      source.onerror=function(event){
       log("出错,信息是:"+this.readyState);
      };
    }
    catch(err){log(err.message);}
   }
    function quit(){
     log("已退出");
     source.close;
     source=null;
    }
    
    function log(msg){
     document.getElementById("log").innerHTML+="<br/>+msg";
    }
    
  </script>
 </head>
 <body onload="init()">
  <button onClick="quit()">退出</button>
  <div id="log"></div>
 </body>
</html>

sever.php

<?php
error_reporting(E_ALL);
//发送包头定义的mime类型
header("Content-Type:text/event-stream\n\n");
$dateTime=new DateTime();
$now=$dateTime->format('c');
//发送服务器当前时间,注意以data:前缀
echo'data:'.$now."\n";
?>

posted on 2012-07-08 13:39  cobrenda  阅读(246)  评论(0编辑  收藏  举报