我想从服务器到客户端定期发送更新.为此,我使用了服务器发送的事件.我正在粘贴以下代码:
客户端
<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秒进一步增加的时间间隔.有没有人有一个想法我怎么能做到这一点?
另外,我可以使用服务器发送的事件发送图像吗?
我正在尝试创建所有小于或等于给定数字的质数的列表。我使用for循环成功做到了这一点。我试图使用python使用列表理解来实现相同的目的。但是我的输出有一些意外的值。
这是我的代码。
pr=[2]
pr+=[i for i in xrange(3,num+1) if not [x for x in pr if i%x==0]]
Run Code Online (Sandbox Code Playgroud)
num我从用户那里输入的号码在哪里?
上面代码的输出为
num=20 is this: [2, 3, 5, 7, 9, 11, 13, 15, 17, 19]
Run Code Online (Sandbox Code Playgroud)
我对为什么输出中有9和15感到困惑。我在这里做错了什么?