使用PHP进行服务器端SSE推送和实时通信

最近项目需要用到服务器推送,网看了一些资料,最终考虑选用最轻量的SSE技术,以下是踩坑经验:服务器端推送和实时通信,如:WebSocket、Long Polling、Server-Sent Events(SSE)等。

Server-Sent Events(SSE)是一种浏览器与服务器之间单向通信的技术,可以从服务器实时地向客户端推送数据。SSE技术依赖于HTTP协议,而不需要使用WebSocket。

按网上资料做最简单的测试,却怎么也实现不了:

下面是一个简单的PHP代码示例:

<?php
//发送SSE应答 文件名sse.php
header('X-Accel-Buffering: no');
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$old_md5 = '';
//执行100次,每次睡眠3秒钟,总共300秒,也就是5分钟
for ($i=0; $i<100; $i++) {
    //保持一个长连接,每隔3秒钟回答客户端一次
	
	$data = [
        'time' => date('Y-m-d H:i:s'),
        'message' => 'This is a server-sent event update.',
    ];
    echo "data: ".json_encode($data)."\n\n";
	 
   
    ob_flush();
    flush();
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恰好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值