91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 132KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-21
  • 語言: 其他
  • 標簽: comet4j??聊天??

資源簡介

基于comet4j的簡易聊天

資源截圖

代碼片段和文件信息

package?org.comet4j.demo.helloworld;

import?java.io.IOException;??
import?java.io.PrintWriter;??
import?java.util.ArrayList;??
import?java.util.Iterator;??
import?java.util.List;??
??
import?javax.servlet.ServletException;??
import?javax.servlet.http.HttpServlet;??
import?javax.servlet.http.HttpServletRequest;??
import?javax.servlet.http.HttpServletResponse;??
??
import?org.apache.catalina.CometEvent;??
import?org.apache.catalina.CometProcessor;??
??
public?class?ChatCometServlet?extends?HttpServlet?implements?CometProcessor{??
????private?static?final?long?serialVersionUID?=?1L;??
????private?List?events?=?new?ArrayList();??
??
????@Override??
????public?void?event(CometEvent?event)?throws?IOException?ServletException?{??
????????HttpServletRequest?request?=?event.getHttpServletRequest();??
????????String?path?=?request.getRequestURI();??
????????if(path.indexOf(“setComet“)?!=?-1){??
????????????//發(fā)送消息的請求??
????????????String?message?=?request.getParameter(“message“);??
????????????//遍歷所有的CometEvent將消息發(fā)送出去??
????????????synchronized(events){??
????????????????//使用list的遍歷器??
????????????????Iterator?iterator?=?events.iterator();???
????????????????CometEvent?e?=?null;??
????????????????while(iterator.hasNext()){??
????????????????????e?=?iterator.next();??
????????????????????HttpServletResponse?res?=?e.getHttpServletResponse();??
????????????????????//設置響應的編碼和類型??
????????????????????res.setCharacterEncoding(“utf-8“);??
????????????????????res.setContentType(“text/plain“);??
????????????????????PrintWriter?writer?=?res.getWriter();??
????????????????????writer.write(message);??
????????????????????writer.flush();??
????????????????????//一定要調(diào)用list保存的CometEvent對象的close方法關閉,這樣才可以及時將消息推送出去??
????????????????????e.close();??
????????????????????//刪除的時候要使用iterator的刪除方法,否則可能會引發(fā)cuncurrentModifyException??
????????????????????iterator.remove();??
????????????????}??
????????????}??
????????????//最后關閉當前請求的CometEvent??
????????????event.close();??
????????????return;??
????????}else?if(path.indexOf(“getComet“)?!=?-1){??
????????????//獲取消息的請求??
????????????if(event.getEventType()?==?CometEvent.EventType.BEGIN){??
????????????????//begin階段,設置超時時間,并將CometEvent對于保存到list中,其他階段均返回ERROR(簡單處理)??
????????????????event.setTimeout(20000);??
????????????????synchronized(events){??
????????????????????events.add(event);??
????????????????}??
????????????????return;??
????????????}else?if(event.getEventType()?==?CometEvent.EventType.END){??
????????????????synchronized(events){??
????????????????????HttpServletResponse?res?=?event.getHttpServletResponse();??
????????????????????res.setCharacterEncoding(“utf-8“);??
????????????????????res.setContentType(“text/plain“);??
????????????????????PrintWriter?writer?=?res.getWriter();??
????????????????????writer.write(“ERROR“);??
????????????????????writer.flush();??
????????????????????event.close();??
???????????????????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-10-24?17:54??HelloWorld_\
?????文件?????????834??2013-10-24?17:54??HelloWorld_\.classpath
?????文件????????1044??2013-10-24?17:54??HelloWorld_\.project
?????目錄???????????0??2013-10-24?17:57??HelloWorld_\.settings\
?????文件?????????503??2013-10-24?17:54??HelloWorld_\.settings\.jsdtscope
?????文件?????????104??2013-10-24?17:57??HelloWorld_\.settings\org.eclipse.core.resources.prefs
?????文件?????????395??2013-10-24?17:54??HelloWorld_\.settings\org.eclipse.jdt.core.prefs
?????文件?????????487??2013-10-24?17:54??HelloWorld_\.settings\org.eclipse.wst.common.component
?????文件?????????345??2013-10-24?17:54??HelloWorld_\.settings\org.eclipse.wst.common.project.facet.core.xml
?????文件??????????49??2013-10-24?17:54??HelloWorld_\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2013-10-24?17:54??HelloWorld_\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????目錄???????????0??2013-10-25?14:00??HelloWorld_\WebContent\
?????目錄???????????0??2013-10-24?17:54??HelloWorld_\WebContent\meta-INF\
?????文件??????????39??2013-10-24?17:54??HelloWorld_\WebContent\meta-INF\MANIFEST.MF
?????目錄???????????0??2013-10-24?17:54??HelloWorld_\WebContent\WEB-INF\
?????目錄???????????0??2013-10-25?13:59??HelloWorld_\WebContent\WEB-INF\lib\
?????文件??????108103??2013-10-24?17:11??HelloWorld_\WebContent\WEB-INF\lib\comet4j-tomcat6.jar
?????文件????????1824??2013-10-25?14:01??HelloWorld_\WebContent\WEB-INF\web.xml
?????文件????????1814??2013-10-25?14:02??HelloWorld_\WebContent\chat.jsp
?????文件?????????888??2013-10-25?09:16??HelloWorld_\WebContent\hello.html
?????目錄???????????0??2013-10-25?13:47??HelloWorld_\WebContent\js\
?????文件???????20107??2013-10-24?17:15??HelloWorld_\WebContent\js\comet4j.js
?????文件???????57254??2013-09-24?09:05??HelloWorld_\WebContent\js\jquery.js
?????目錄???????????0??2013-10-24?17:54??HelloWorld_\build\
?????目錄???????????0??2013-10-25?13:59??HelloWorld_\build\classes\
?????目錄???????????0??2013-10-25?13:59??HelloWorld_\build\classes\org\
?????目錄???????????0??2013-10-25?13:59??HelloWorld_\build\classes\org\comet4j\
?????目錄???????????0??2013-10-25?13:59??HelloWorld_\build\classes\org\comet4j\demo\
?????目錄???????????0??2013-10-25?13:59??HelloWorld_\build\classes\org\comet4j\demo\helloworld\
?????文件????????3619??2013-10-25?13:59??HelloWorld_\build\classes\org\comet4j\demo\helloworld\ChatCometServlet.class
?????文件????????1374??2013-10-25?13:59??HelloWorld_\build\classes\org\comet4j\demo\helloworld\HelloWorld$HelloAppModule.class
............此處省略8個文件信息

評論

共有 條評論