sse 从服务器输出到客户端
服务端代码:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache'); // 不缓存
header('Access-Control-Allow-Origin: *'); // 限制外网访问
$data =time();
$dataDeal = $data;
echo 'retry: 1000' . PHP_EOL;// 1秒输出一次
echo "data: {$dataDeal}\n\n";
flush();
客户端代码:
``
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="result"></div>
<script>
if(typeof(EventSource)!=="undefined")
{
var source=new EventSource("sse.php");
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data + "<br />";
};
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>
这样就可以显示
The server time is: 2017-09-25 08:50:21
The server time is: 2017-09-25 08:50:22
The server time is: 2017-09-25 08:50:23
The server time is: 2017-09-25 08:50:24
The server time is: 2017-09-25 08:50:25
The server time is: 2017-09-25 08:50:26
The server time is: 2017-09-25 08:50:27
The server time is: 2017-09-25 08:50:28
The server time is: 2017-09-25 08:50:29
The server time is: 2017-09-25 08:50:30
The server time is: 2017-09-25 08:50:31
The server time is: 2017-09-25 08:50:32
The server time is: 2017-09-25 08:50:33
The server time is: 2017-09-25 08:50:34
The server time is: 2017-09-25 08:50:35
The server time is: 2017-09-25 08:50:36