在 PHP 中实现 event-stream,可以使用 Server-Sent Events (SSE)
- 创建一个 PHP 文件(例如:
sse.php
),并设置正确的头信息以启动 event-stream:
$id, $data, $event = '') { echo "id: $id" . PHP_EOL; if ($event != '') { echo "event: $event" . PHP_EOL; } echo "data: $data" . PHP_EOL; echo PHP_EOL; ob_flush(); flush(); } $serverTime = time(); send_message($serverTime, 'Hello, this is a message from the server!'); // 模拟事件流 for ($i = 0; $i < 10; $i++) { sleep(1); $serverTime = time(); send_message($serverTime, 'This is message ' . ($i + 1)); }
- 在 HTML 文件中,创建一个 EventSource 对象来连接到上面创建的 PHP 脚本:
Event Stream Example
- 将这两个文件放在 Web 服务器上,并通过浏览器访问 HTML 文件。你应该能看到来自 PHP 脚本的事件消息。
注意:确保您的 Web 服务器支持 PHP,并已正确配置。同时,确保在 JavaScript 代码中使用正确的路径来引用 PHP 文件。