前段:eventsource

回敘很多的朋友都會在使用eventsource是遇到一些問題:

今天,就總結一下eventsource的使用:

eventsource不同於websocket,它也是一個長輪詢,只是不需要開發者自己寫輪詢了

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<div id="t"></div>
<script type="text/javascript">
	var url="source.jsp";
	if(EventSource)
	{
	    var source=new EventSource(url);
	    source.onmessage = function(event)
	    {
	        document.getElementById("t").innerHTML += event.data + "<br />";
	    };
	}
	else
	{
	    document.getElementById("t").innerHTML = "Sorry, your browser does not support server-sent events...";
	}

</script>
</body>
</html>
<%@page language="java" contentType="text/event-stream; charset=utf-8"
	pageEncoding="utf-8"%>
<%@page import="java.util.Date"%>
<%
	response.setHeader("pragma", "no-cache");
	response.setHeader("expires", "0");
	response.setHeader("Cache-Control", "no-cache");
	System.out.println("data: " + new Date());
	out.println("data: " + new Date());//這邊最需要注意:要用兩個換行,因爲在eventsource讀取數據是,會根據換行判斷格式
	out.println();
	out.flush();
%>




發佈了270 篇原創文章 · 獲贊 19 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章