<?php
// 服务器发送事件 (SSE) 示例代码
// 设置响应头
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
// 发送消息给客户端
function send_message($id, $data) {
echo "id: $id" . PHP_EOL;
echo "data: $data" . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
}
// 模拟一些数据发送
for ($i = 0; $i < 10; $i++) {
send_message($i, 'Server time: ' . date('Y-m-d H:i:s'));
sleep(1); // 每隔1秒发送一次数据
}
?>
header()
函数设置响应头,Content-Type: text/event-stream
表示这是一个 SSE 请求,Cache-Control: no-cache
禁止缓存。send_message()
函数用于构建并发送 SSE 消息格式。每条消息由 id
和 data
组成,并通过 ob_flush()
和 flush()
确保消息立即发送到客户端。for
循环和 sleep()
函数模拟每隔一秒发送一次服务器时间。这个示例展示了如何使用 PHP 实现服务器发送事件(SSE),使服务器能够主动向客户端推送数据。
下一篇:php openssl_sign
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站