我目前正在使用Jetty 8,我想在servlet响应中编写几个事件(文本)。例如:
写开始 写event2 写event3 写完了
全部由\ n
分隔此响应的范围可能不超过20秒,但客户端应该在发生时接收每个事件(行)。我找不到任何关于此的文档,但我想与社区联系。
如果Jetty没有这个,那么还有其他的servlet引擎可以嵌入吗?
顺便说一下,我尝试了以下内容,但是在servlet返回之前没有收到任何数据,然后它就会立即收到。
resp.setContentType("text/html");
resp.setHeader("Transfer-Encoding", "chunked");
resp.getWriter().write("closing");
resp.getWriter().flush();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
resp.getWriter().write("closed");
resp.getWriter().flush();
编辑:必须使用\ r \ n作为行终止符
答案 0 :(得分:2)
如果每行都以\ r \ n
终止,则它有效 resp.setContentType("text/html");
resp.setHeader("Transfer-Encoding", "chunked");
resp.getWriter().write("closing\r\n");
resp.getWriter().flush();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
resp.getWriter().write("closed\r\n");
resp.getWriter().flush();