PHP SSE从建立链接 管理链接 并发送数据到指定链接
时间: 2024-01-16 07:16:43 浏览: 70
PHP SSE (Server-Sent Events) 可以通过以下步骤建立链接,管理链接并发送数据到指定链接:
1. 建立链接:使用 PHP 的 `header` 函数设置响应头,将 Content-Type 设置为 "text/event-stream",并且不要缓存响应。
```php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
```
2. 管理链接:使用 PHP 的 `while` 循环来保持连接打开并监听新消息。在循环中,使用 `ob_flush()` 和 `flush()` 函数清空输出缓冲区,确保消息实时发送。
```php
while (true) {
// Check for new messages
// ...
// Send message to client
echo "data: " . $message . "\n\n";
ob_flush();
flush();
// Wait for next message
sleep(1);
}
```
3. 发送数据到指定链接:使用 `echo` 函数发送消息到客户端,消息格式为 "data: message\n\n"。其中,"message" 是要发送的消息内容,"\n\n" 是消息的结束符。
```php
echo "data: " . $message . "\n\n";
```
注意:SSE 是一种单向通信协议,只能从服务器向客户端发送数据。客户端不能向服务器发送数据,如果需要双向通信,可以考虑使用 WebSocket 协议。
阅读全文