swoole与浏览器进行eventSource推送示例代码

代码语言:phpcli

所属分类:通讯

代码描述:swoole与浏览器进行eventSource推送示例代码,swoole使用定时器服务端主动推送消息,当浏览器eventSource关闭后,服务器端检测到后关闭定时器,这也是模拟chatgpt stream模式。

代码标签: swoole 浏览器 eventSource 推送 示例 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php

use Swoole\Http\Request;
use Swoole\Http\Response;

// 设置响应头
function setHeader(Response $response) {
    $response
->header('Content-Type', 'text/event-stream');
    $response
->header('Cache-Control', 'no-cache');
    $response
->header('Connection', 'keep-alive');
}

// 发送事件
function sendEvent(Response $response, $event, $data) {
    $response
->write("event:$event\n");
    $response
->write("data:$data\n\n");
}


// 用于存储定时器ID的数组
$timerIds
= [];

// 创建HTTP服务器
$server
= new Swoole\Http\Server('0.0.0.0', 9502);

// 处理请求
$server
->on('request', function(Request $request, Response $response) use(&$timerIds) {
 
//  echo $request->server['request_uri']."\n";
   
if ($request->server['request_uri'] == .........完整代码请登录后点击上方下载按钮下载查看

网友评论0