避免刷新,使用server Push发送消息到浏览器

一种方案是使用websocket,客户端和服务器可以直接实现交互,但是一般的服务器并不支持。如果简单实现服务器推送消息,使用html5的服务器推送消息是最简单的。

客户端例子

<!DOCTYPE html>
<html>
   <head>
     <script type='text/javascript'>
        var source = new EventSource('server.php');
        source.onmessage = function (event) {
           ev = document.getElementById('events');
           ev.innerHTML += "<br>[in] " + event.data;
        };
     </script>
  </head>
  <body>
    <div id="events"></div>
  </body>
</html>

服务器端例子,服务器端的名字保存为server.php 供客户端调用即可。

<?php
set_time_limit(0);

header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
while(true){
	ob_end_clean();
	$time = date('r');
	echo "data: The server time is: {$time}\n\n";
	flush();
}
?>
发布了67 篇原创文章 · 获赞 9 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/robinhunan/article/details/84848121