当前位置: 首页 > 工具软件 > PHP SSE > 使用案例 >

html5 php 发消息,PHP 实现 HTML5 的服务器发送事件 PHP SSE

慕震博
2023-12-01

软件介绍

PHP SSE: Server-sent Events,一个简单有效的库,通过 PHP 实现了 HTML5 的服务器发送事件,用于实时从服务器推送事件到客户端,比 Websocket 更容易。

要求:PHP 5.4 or later

示例代码

Javascript demoClient: receiving events from the server//withCredentials=true: pass the cross-domain cookies to server-side

var source = new EventSource("http://127.0.0.1:9001/push.php", {withCredentials:true});

source.addEventListener("new-msgs", function(event){

console.log(event.data);//get data

}, false);

PHP demoServer: sending events from the server by pure phpinclude './vendor/autoload.php';

use Hhxsv5\SSE\SSE;

use Hhxsv5\SSE\Update;

header('Content-Type: text/event-stream');

header('Cache-Control: no-cache');

header('Connection: keep-alive');

header('X-Accel-Buffering: no');//Nginx: unbuffered responses suitable for Comet and HTTP streaming applications

(new SSE())->start(new Update(function () {

$id = mt_rand(1, 1000);

$newMsgs = [

[

'id'      => $id,

'title'   => 'title' . $id,

'content' => 'content' . $id,

],

];//get data from database or servcie.

if (!empty($newMsgs)) {

return json_encode(['newMsgs' => $newMsgs]);

}

return false;//return false if no new messages

}), 'new-msgs');

为你推荐:

 类似资料: