1
A
回答
0
我使用超薄API版本2和我添加的服務器發送的事件,以我現有的API是這樣的:
在index.php文件:
$app = new \Slim\Slim();
// other code
....
// this is the route I want to use for the event stream
$app->get('/psoback/eventstream',
function() use ($app)
{
require_once('event.php');
$app->eventstream = new ServerSentEventHandler();
}
);
// here goes the rest of my api definitions
...
$app->run();
if(isset($app->eventstream))
{
$app->eventstream->Run();
}
event.php看起來是這樣的: (例如從https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
<?php
class ServerSentEventHandler
{
function __construct()
{
}
function Run()
{
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$counter = rand(1, 10);
while (1)
{
// Every second, sent a "ping" event.
echo "event: ping\n";
$curDate = date(DATE_ISO8601);
echo 'data: {"time": "' . $curDate . '"}';
echo "\n\n";
// Send a simple message at random intervals.
$counter--;
if (!$counter)
{
echo 'data: This is a message at time ' . $curDate . "\n\n";
$counter = rand(1, 10);
}
ob_end_flush();
flush();
sleep(1);
}
}
};
?>
相關問題
- 1. HTML5服務器使用JSON和PHP發送的事件(SSE)
- 2. 服務器發送事件(SSE)和科爾多瓦/ Phonegap
- 3. Google App Engine中的服務器發送事件(SSE)
- 4. WebSocket與SSE之間的MQTT差異(服務器發送事件)
- 5. 如何在android中使用服務器發送的事件(SSE)?
- 6. 服務器發送的事件不適用於運動衫SSE
- 7. 使用servlet作爲服務器進行服務器發送的事件(SSE)
- 8. Dropwizard和Jersey SSE(服務器端事件)
- 9. 服務器發送事件 - 事件流 - 觸發PHP服務器端事件?
- 10. 使用服務器發送的事件(SSE),PHP沒有達到max_execution_time?
- 11. 服務器用PHP發送事件
- 12. SSE未捕獲錯誤:SECURITY_ERR:DOM異常18與提供服務器發送事件(SSE)的服務器
- 13. Websocket,服務器發送事件(SSE)和HTTP2的服務器推送之間有什麼區別?
- 14. 如何使服務器發送事件(SSE)與PHP會話一起工作?
- 15. 服務器發送事件
- 16. SSE客戶端隨時停止工作我修改服務器(服務器發送事件)
- 17. PHP:發送服務器發送到特定IP的DOM事件
- 18. PHP服務器發送的事件 - 消息發送方和收件箱
- 19. PHP gzip和服務器發送的事件流
- 20. 服務器發送的事件和php - 如何成爲代理
- 21. 使用服務器發送的事件和PHP會話
- 22. 服務器端事件不使用SSE
- 23. 微服務,服務器發送事件和瀏覽器限制
- 24. 移動電話上的服務器發送事件(SSE)連接丟失
- 25. 在公司環境中使用SSE(服務器發送的事件)
- 26. 涉及服務器發送的事件
- 27. 檢查服務器發送的事件
- 28. Node.JS服務器發送的事件
- 29. 服務器發送的事件
- 30. SSE(服務器發送事件),監聽Node.js服務器中的事件並將其發佈到其他服務器