HTML5提供了EventSource基于http的推送,不像WebSocket那么复杂。
js:
//初始化
function start() {
var es = new EventSource('xxxx.action');//参数为url链接,服务器执行推送的方法的链接
es.onopen = open;
es.onerror = error;
es.onmessage = message;
}
//连接成功调用
function open(e) {
}
//连接失败调用
function error(e){
}
//获得推送事件
function message(e){
e.data;//data为推送过来的数据
}
//开始
start();
java:大概这样。。
HttpServletResponse rsp;
rsp.setContentType(“Content-Type:text/event=stream”);
rep.getWriter().write("data:abcde\n\n");//返回数据格式必须有 data: 和 \n\n,中间部分为返回数据
rep.getWriter().flush();