我想从服务器到客户端定期发送更新.为此,我使用了服务器发送的事件.我正在粘贴以下代码:
客户端
<script>
if(typeof(EventSource)!="undefined")
{
var source=new EventSource("demo_see.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>
Run Code Online (Sandbox Code Playgroud)
服务器端
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$x=rand(0,1000);
echo "data:{$x}\n\n";
flush();
?>
Run Code Online (Sandbox Code Playgroud)
代码工作正常但它会在每个代码中发送更新3 seconds.我想以毫秒为单位发送更新.我尝试sleep(1)之后flush(),但它仅由1秒进一步增加的时间间隔.有没有人有一个想法我怎么能做到这一点?
另外,我可以使用服务器发送的事件发送图像吗?