itzyanick / sselib
PHP SSE 库
1.0.0
2020-10-23 07:25 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-09-06 07:56:29 UTC
README
一个用于在您的PHP服务器上创建实时服务器端事件的库。在客户端,您可以使用简单易用的JavaScript实时获取事件。
要求
- PHP 5.4 或更高版本
通过Composer安装
$ composer require itzyanick/sselib
用法
服务器端代码示例(PHP)
use ItzYanick\SSELIB\Server; use ItzYanick\SSELIB\Event; header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); header('Connection: keep-alive'); header('X-Accel-Buffering: no'); // optional $dataCallback = function ($var, $prevData) { $push = ['content' => 'Fools']; if (empty($push)) { return false; } return [json_encode(compact('push')), json_encode(compact('push'))]; }; $abortCallback = function () { }; $server = new Server(); $server->setEvent(new Event($dataCallback, 'data', 'var', $abortCallback)); $server->startServer(0);
启动服务器示例
$ php -S 127.0.0.1:9001 -t .
客户端代码示例(JavaScript)
const source = new EventSource('http://127.0.0.1:9001/sse.php', {withCredentials:true}); source.addEventListener('data', function(event) { console.log(event.data); // source.close(); // disconnect stream }, false);