我在测试Ericsson的一个api,它提供了一个叫EventSource的api。
给了一个例子:
服务器端代码,用于实现每3秒发送一个事件,内容是服务器的时间:
<?php
header("Content-Type:text/event-stream");
while(true) {
echo "event: server-time\n";
$time = time();
echo "data: $time\n";
echo "\n";
flush();
sleep(3);
}
?>
客户端代码,用于实现接收服务器时间,输出服务器发送过来的data:
<html>
<head>
<!-- Include the enabler library. Remember to add a real API key! -->
<script src="http://eventsource.labs.ericsson.net/ESProxy/library/?key=MY_API_KEY"></script>
<script>
<!-- Remember to change the URL to your Event Source server -->
var es = new EventSource("http://www.example.com/event_source/");
es.addEventListener("server-time", function(event)
{
document.getElementById("out").innerHTML+= "server-time: " + event.data + "<br/>";
}, false);
</script>
</head>
<body>
<div id="out"></div>
</body>
</html>
我自己搭建了一个Apache服务器,安装了php,然后把客户端代码以client.html文件,服务端代码以server.php文件存放在服务器的网页目录下的event_source文件夹。
修改了var es = new EventSource("http://我的服务器地址/event_source/"); 使之指向我的服务器。
当我在我的浏览器输入http://我的服务器地址/event_source/client.html发现没有反应。
我不大清楚他所说的服务器端代码和客户端代码到底是什么意思,不是都放在服务器吗?
有经验的指教一下。
给了一个例子:
服务器端代码,用于实现每3秒发送一个事件,内容是服务器的时间:
<?php
header("Content-Type:text/event-stream");
while(true) {
echo "event: server-time\n";
$time = time();
echo "data: $time\n";
echo "\n";
flush();
sleep(3);
}
?>
客户端代码,用于实现接收服务器时间,输出服务器发送过来的data:
<html>
<head>
<!-- Include the enabler library. Remember to add a real API key! -->
<script src="http://eventsource.labs.ericsson.net/ESProxy/library/?key=MY_API_KEY"></script>
<script>
<!-- Remember to change the URL to your Event Source server -->
var es = new EventSource("http://www.example.com/event_source/");
es.addEventListener("server-time", function(event)
{
document.getElementById("out").innerHTML+= "server-time: " + event.data + "<br/>";
}, false);
</script>
</head>
<body>
<div id="out"></div>
</body>
</html>
我自己搭建了一个Apache服务器,安装了php,然后把客户端代码以client.html文件,服务端代码以server.php文件存放在服务器的网页目录下的event_source文件夹。
修改了var es = new EventSource("http://我的服务器地址/event_source/"); 使之指向我的服务器。
当我在我的浏览器输入http://我的服务器地址/event_source/client.html发现没有反应。
我不大清楚他所说的服务器端代码和客户端代码到底是什么意思,不是都放在服务器吗?
有经验的指教一下。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货