我在看Server-Sent Events
,因为客户端在共享主机上,我不能使用 websockets。
我已经测试了W3School 的示例,它运行良好。我的代码如下所示:
Index.php(相关部分):
<script>
var source=new EventSource("data.php");
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data + "<br>";
};
</script>
数据.php:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>
现在,我得到的输出如下所示:
The server time is: Wed, 24 Apr 2013 13:31:25 +0200
The server time is: Wed, 24 Apr 2013 13:31:28 +0200
The server time is: Wed, 24 Apr 2013 13:31:31 +0200
The server time is: Wed, 24 Apr 2013 13:31:34 +0200
The server time is: Wed, 24 Apr 2013 13:31:37 +0200
The server time is: Wed, 24 Apr 2013 13:31:40 +0200
The server time is: Wed, 24 Apr 2013 13:31:43 +0200
The server time is: Wed, 24 Apr 2013 13:31:46 +0200
The server time is: Wed, 24 Apr 2013 13:31:49 +0200
我注意到,time-interval
这里是3 秒。
我的问题是:如何更改此时间间隔?
在data.php
我打算有一个发送请求并返回响应的代码,但是请求的数量是有限的,所以我需要使这个间隔更大。
这甚至是解决问题的好方法,还是我应该使用polling
?
对不起,如果我不够清楚,我真的不知道如何描述这个问题。
谢谢!