我正在尝试为Server Sent Events设置示例应用程序。该应用程序实现为java servlet。
在我的本地开发服务器上运行应用程序就可以了。但是在我的高效服务器上,服务器似乎没有发送sse。
我在我的开发和我的高效服务器上运行Tomcat 7.0.47。
两个系统上的server.xml也是相同的。
这是我的服务器端代码:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Connection", "keep-alive");
response.setContentType("text/event-stream;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
while(true)
{
try {
Thread.sleep(500);
PrintWriter writer = response.getWriter();
writer.print("data: Test \n\n");
writer.flush();
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
}
客户端代码:
var eventSource = new EventSource("${pageContext.request.contextPath}/ServerSentEventServer");
eventSource.onmessage = function(event) {
var text = event.data;
// do something with the data
};
此时,我不知道问题是什么。谷歌根本没有帮助我。
如果有人知道问题可能是什么,那将非常感激。