我想使用使用workerman實現(xiàn)服務(wù)器端推送,請問支持html5 的server send event嗎?
我發(fā)現(xiàn)這么寫似乎無效,求解答?
<?php
use Workerman\Worker;
use Workerman\Protocols\Http;
use Workerman\Protocols\HttpCache;
require_once __DIR__ . '/Workerman/Autoloader.php';
session_save_path('L:/worker/session/');
// 創(chuàng)建一個Worker監(jiān)聽2345端口,使用http協(xié)議通訊
$http_worker = new Worker("http://0.0.0.0:2345");
// 啟動4個進(jìn)程對外提供服務(wù)
$http_worker->count = 4;
// 接收到瀏覽器發(fā)送的數(shù)據(jù)時回復(fù)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'){
//設(shè)置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();