基本的EventSource和SSE示例

时间:2012-08-24 13:17:11

标签: html5 tomcat javascript-events


关于Serve-Side Events和EventSource的问题。 这是我的简单页面(listener.html)

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<title>SSE test page</title>

<script type="text/javascript">
$(document).ready(function() {
      var guid = "1234567890";
      var source = new EventSource('servlet/push-event');
      source.onmessage = function (e) {
          alert(e.origin);
      };    
});
</script> 
</head>
<body>Listener!</body>
</html>

并在tomcat之外部署,所以我用(http://127.0.0.1:8080/html/listener.html)访问它

我在java中实现了服务器端

resp.setContentType("text/event-stream");
resp.setHeader("Cache-Control", "no-cache");
PrintWriter out;
try {
    out = resp.getWriter();
    out.write("data: wowowowowowo");
    out.flush();
    out.close();
} catch (IOException e) {
    e.printStackTrace();
}

当我在ff和android 4本机浏览器中调用listener.html时,我会连续看到警报,好像事件是从其他地方发出的,但我不知道在哪里。

IE9或Chrome等其他浏览器没有响应。

问题在哪里?我,tomcat或浏览器?

非常感谢你 卢卡

0 个答案:

没有答案