请问workerman 支持 html5 的sse吗?

mrtwenty

我想使用使用workerman实现服务器端推送,请问支持html5 的server send event吗?
我发现这么写似乎无效,求解答?

<?php
use Workerman\Worker;
use Workerman\Protocols\Http;
use Workerman\Protocols\HttpCache;
require_once __DIR__ . '/Workerman/Autoloader.php';

session_save_path('L:/worker/session/');

// 创建一个Worker监听2345端口,使用http协议通讯
$http_worker = new Worker("http://0.0.0.0:2345");

// 启动4个进程对外提供服务
$http_worker->count = 4;

// 接收到浏览器发送的数据时回复hello world给浏览器
$http_worker->onMessage = function($connection, $data)
{

    if($_SERVER=='/sse.php'){

        Http::header('Content-Type: text/event-stream'); 
        Http::header('Cache-Control: no-cache');

        while(true){
            $time=time();
            $res="data: The server time is: {$time}\n\n"; 
            $connection->send($res);

            sleep(1);
        }
        return ;
    }

    if($_SERVER=='/34.html'){
        //设置cookie
        // Http::setcookie('a','123123');

        $path= __DIR__ ;
        $res=file_get_contents($path.'/static/34.html');

        $connection->send($res);
        return ;
    }

    // Http::sessionStart(); //启动session ,以后就可以使用session了

};

// 运行worker
Worker::runAll();
2979 1 0
1个回答

keytehu

sse 是个什么鬼?

年代过于久远,无法发表回答
×
🔝