我是一名学生,正在为一个社交交易平台做项目。我想实现一个通知系统,我认为SSE是个好主意。然而,我的SSE代码由于某种原因会重复发送数据(我只想发送一次)。我在本地主机的XAMMP APACHE上运行这些脚本。
SSE sse.php
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
function sendMsg($id, $msg) {
echo "id: $id" . PHP_EOL;
echo "data: $msg" . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
}
$serverTime = time();
sendMsg($serverTime, 'server time: ' . date("h:i:s", time()));
?>
Client financials.php
<!DOCTYPE html>
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>
<script>
if(typeof(EventSource)!=="undefined")
{
var source=new EventSource("sse.php");
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data + "<br>";
};
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>
感谢您提前提供的任何帮助:)
server-sent-events
标签上。 - Lawrence Cherone