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

posted @ 2017-09-25 16:51  赤热的心  阅读(377)  评论(0编辑  收藏  举报