tomcat 实现comet 配置

来源:互联网 发布:ff14蒂法捏脸数据 编辑:程序博客网 时间:2024/04/29 04:16

在项目开发中,由于需要在首页做一个简单的消息总数推送功能,所以从网上整理并开发出一个简单的基于长轮询的服务器推送功能。

在说明tomcat支持comet之前,大家先简单的了解一下web 服务器端推送消息的方式,有很多的一部分开发者从事web应用的开发,web应用是基于http协议进行b/s同行的,也就是基于请求/响应式的模式就行数据通信,客户端请求一次,服务器端响应一次,所以称之为无状态的,而现在要让服务器主动给客户端推送消息

1.基于长连接,也就是b/s建立长久连接

@基于流方式的,在连接建立成功之后,始终保持连接不断

@基于poll,长轮询的方式,客户端请求一次,服务器端响应后,客户端再次发起响应,服务端再次响应,一直不断持续

2.基于websocket

基于html5,还未了解,请大侠普及

下面配置tomcat,来支持poll方式:

 1.编写我们业务servlet

class MsgPendServlet extends HttpServlet implements CometProcessor

重写event(),具体参数介绍,大家可以网上找详细资料

如果IDE中,无此接口,需将tomcat-->lib下的catalina.jar导入我们工程中

2.编写页面,关键代码,ajax,重复调用自己

function getmsgcount(){                      var url = "${ctx}/ajaxAction.do?method=json&classes=chatService&common=getMsgCount";   $.getJSON(url, function(data){      getmsgcount();    });          }
到此可以发布我们的小东东了,如果在启动tomcat报错,jsper.......异常,修改conf/context.xml
<Context><Loader delegate="true" />    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</pre><pre name="code" class="html">总:服务器端的推送,涉及到多线程的编程,大家可以参考相关资料,以上就是自己工作中的一点小总结,请指教。


0 0
原创粉丝点击