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.οnerrοr=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 οnlοad="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";
?>