1.Tomcat6&Comet的简要介绍
Comet技术的悄然流行,Jetty在比较早地支持了Comet,提供了Comet 的Servlet,同样从Tomcat6开始,Comet已经在Tomcat的标准Servlet中开始支持了,这是个好事情,毕竟我们有越来越多的选择了。
可喜的是Comet技术,已经定义在Servlet3.0规范中,到时候,我们代码的移植性更好了。
可惜的是Tomcat提供了几个Sample都不能运行,在这里需要批评一下Tomcat的开发者们了,笔者花了几天看了那个实例代码,代码写得确实有点问题,大量的同步关键字,本身其实用一个简单的例子说明就可以了,何必杀鸡用牛刀。
Tomcat的comet原理其实同样很简单,它无非就是做了一件事情,它允许servlet执行完毕后的response没有被回收,我们只要拿到这个Reponse的引用并保存起来,就可以随时从Server向Client端Push数据了。
Tomcat提供了CometProcessor接口,有这种特定标记的Servlet,Tomcat会做特殊处理,Tomcat不会把它当做普通Servlet实行完毕后,会回收request和response。
2.实战
本文实现了一个server 定时push一个随机数到client端,此例查询了大量的实例,经过笔者验证,在IE和FireFox下都可以运行。
运行此例,需要下面配置:
1) Tomcat要求支持Comet,必须使用NIO或者APR的方式,因此,修改Tomcat/conf/server.xml
<Connector port="9000" executor="tomcatThreadPool" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000" maxThreads="150"
redirectPort="8443" maxKeepAliveRequests="1"/>
2)Tomcat版本要求6.0.16以上,最好使用最新的版本
3) 修改附件中源码里面的web目录下的comet-compatible.jsp文件,把里面涉及IP和端口的url,改成你机器的ip地址和端口
4) 测试运行:http://ip:port/contextName/comet-compatible.jsp
请耐心等数秒钟,随机数开始从server push到client端了
源码见附件,附件的URL如下:
http://dl.iteye.com/topics/download/ee28df9d-d838-3572-be73-dbf06c11080f
注:作者本着负责的态度,让大家更快的学习新东西,欢迎大家有问题,给我留言,我一定及时回复
分享到:
相关推荐
tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不刷新显示。tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不刷新显示。tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不...
NULL 博文链接:https://tomenjoy.iteye.com/blog/899715
comet4j-tomcat6,comet4j-tomcat7,comet4j.js,comet4j.js,以及一个样例
tomcat7后台服务器,java项目实现后台推送信息到客户端浏览器
Servlet3.0 异步处理 页面推送 Comet 实例
comet4j,comet4j实例,实例代码,可直接运行
comet4j-tomcat6、comet4j-tomcat7 的jar包和comet4j.js资源下载
导入即可运行,包括下面jar。 jar包: cometd-api-0.9.20080221 cometd-bayeux-6.1.9 jetty-6.1.9 jetty-util-6.1.9 servlet-api-2.5-6.1.9 全网搜索dojox.cometd实现WEBQQ,没有可以运行的源码包项目,搞了五天,...
comet4j消息推送所需的comet4j-tomcat7.jar包,comet4j-tomcat7.jar
服务器主动向客户端推送消息所需的comet4j-tomcat7.jar和comen4j.js,在此需注意:comet4j-tomcat7.jar目前仅支持tomcat6和tomcat7
压缩包中包含comet4j向客户端主动推送所需要的jar包和js(comet4j-tomcat6.jar、comet4j-tomcat7.jar、comet4j.js)
NULL 博文链接:https://ttling.iteye.com/blog/1910095
Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作...文件包含comet4j-tomcat6.jar , comet4j-tomcat7.jar , comet4j.js。
comet4j+tomcat6+tomcat7并附完整版Demo,解决java后端向去前台推送信息的问题
comet4j消息推送所需的comet4j.js文件、comet4j-tomcat6.jar、comet4j-tomcat7.jar包
comet与 AJAX 有相似之处..但comet减少了服务器的负载..
里面包含comet4j.js,comet4j-tomcat6.jar,comet4j-tomcat7.jar,comet4j开发指南等资源
Comet4j开发包 Comet4j-tomcat6 Comet4j-tomcat7
通过tomcat服务器,向网页发送即时消息。comet的小例子,可以直接运行,用tomcat6.0。