comet for java_java comet tomcat推送
當有訪問時publicvoidevent(CometEventevent)throwsIOException,ServletException這個方法為什么沒執行publicvoidevent(CometEventevent)throwsIOException,ServletException{HttpSer...
當有訪問時 public void event(CometEvent event) throws IOException, ServletException 這個方法為什么沒執行
public void event(CometEvent event) throws IOException, ServletException {
HttpServletRequest request = event.getHttpServletRequest();
HttpServletResponse response = event.getHttpServletResponse();
// 昵稱
String name = "wo";
System.out.println("+++++++++++23");
System.out.println(response);
if (event.getEventType() == CometEvent.EventType.BEGIN) {
// Http連接空閑超時
event.setTimeout(Integer.MAX_VALUE);
log("Begin for session: " + request.getSession(true).getId());
// 創建Comet Iframe
PrintWriter writer = response.getWriter();
writer
.println(""-//w3c//dtd html 4.0 transitional//en\">");
writer
.println("
");writer.println("
writer.println("var comet = window.parent.comet;");
writer.println("");
writer.flush();
// for chrome
if (request.getHeader("User-Agent").contains("KHTML")) {
for (int i = 0; i < 100; i++) {
writer.print("");
}
writer.flush();
}
writer.flush();
synchronized (connections) {
connections.put(name, response);
}
} else if (event.getEventType() == CometEvent.EventType.ERROR) {
log("Error for session: " + request.getSession(true).getId());
synchronized (connections) {
connections.remove(name);
}
event.close();
} else if (event.getEventType() == CometEvent.EventType.END) {
} else if (event.getEventType() == CometEvent.EventType.READ) {
InputStream is = request.getInputStream();
byte[] buf = new byte[512];
do {
int n = is.read(buf); // can throw an IOException
if (n > 0) {
log("Read " + n + " bytes: " + new String(buf, 0, n)
+ " for session: "
+ request.getSession(true).getId());
} else if (n < 0) {
return;
}
} while (is.available() > 0);
}
}
tomcat 配置都配好了。
web.xml也
CServlet
/CServlet
grails
org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet
1
展開
總結
以上是生活随笔為你收集整理的comet for java_java comet tomcat推送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java GUI设置图标
- 下一篇: JS实现背景透明度可变,文字不透明的效果