1.首先创建一个httpClient。
2.发送握手消息 http://192.168.0.218:8086/cometd/cometd/handshake
channel:/meta/handshake json:{"supportedConnectionTypes":["long-polling"],"channel":"/meta/handshake","version":"1.0"}
3.创建一个destinations 给httpClient.
4.使用destinations 发送握手http消息,需要先获取 空闲的connection。
此时属于destinations 的connection为null
5.将要发送的http消息写入到队列缓存中。
6.创建一个http connection,异步创建,创建好了给destinations。
7.连接创建好后,会将队列中的http消息发送至服务端。
1,发送订阅请求信息url:http://192.168.0.218:8086/cometd/cometd/subscribe
2.此时destinations 中空闲连接的队列为空,之前的连接还没有放入空闲连接队列。(虽然之前的握手响应已经回来,但这块代码在 将空闲连接放入代码之前,所以那个连接还没写入空闲队列。)
3.创建一个http connection,异步创建,创建好了给destinations。
4.将要发送的http消息写入到队列缓存中。
5.创建一个http connection,异步创建,创建好了给destinations。
6.连接创建好后,会将队列中的http消息发送至服务端。
后续的发送心跳连接,此时握手时创建的连接已经放入空闲队列,所以不需要创建新的连接。
发送的心跳连接请求 是30秒后才返回,而一返回响应,又会立即占用这条连接,发送请求,
所以在之后的交互中,这条连接只能发送心跳请求,接收心跳响应,接收服务端推送的信息。
连接空闲的标准应该是:当一条请求响应没有回来时,这条连接就不为空闲。
相关推荐
comet客户端和服务器 所需文件
通过tomcat服务器,向网页发送即时消息。comet的小例子,可以直接运行,用tomcat6.0。
Java 实现 Comet 长连接,服务器主动发送消息给客户端
Servlet3.0 异步处理 页面推送 Comet 实例
基于服务器推送框架 Comet4J ,后台模拟实时生成 gps 坐标信息然后再推送到前端页面显示。...这是客户端主动向服务器发起请求的方式,而采用 comet4j框架来实现正好相反,是服务器主动向客户端来推送消息。
comet4j实现服务器端主动向客户端推送消息。基于java实现,封装了注册、推送,只需关注业务的实现,导入eclipse直接运行。好资源,值得拥有
它分为服务端与客户端两部分,你只要将服务器端(JAR文件,目前仅支持Tomcat6、7)放入WEB-INF\lib,客户端(JavaScript文件)引入到页面,那么你的应用就具备了向客户端推送信息的能力,而你仅需要在服务器端调用Comet4...
压缩包中包含comet4j向客户端主动推送所需要的jar包和js(comet4j-tomcat6.jar、comet4j-tomcat7.jar、comet4j.js)
javaweb消息推送 基于comet实现局域网内部通讯(聊天室)demo 功能特性 推送消息广播。 推送定向消息。 提供连接上线前、上线、下线前、下线、发送消息等多种可处理事件。 消息缓存机制,确保长轮询工作模式下不丢失...
tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不刷新显示。tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不刷新显示。tomcat实现comet例子,实现后台产生每隔几秒产生随机数,前台不...
Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询和流。
Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。 功能特性 推送消息广播。 推送定向消息。 提供连接上线前、上线、...
comet两种实现之一的ajax实现,内部有源代码,这是一个聊天室的例子
供研究comet4j---服务器主动向客户端推送消息
comet4j,comet4j实例,实例代码,可直接运行
DWR+JAVA进行web消息推送dwr-comet.zip
comet框架例子项目,自己写的一个参考例子供大家学习
服务器主动向客户端推送消息所需的comet4j-tomcat7.jar和comen4j.js,在此需注意:comet4j-tomcat7.jar目前仅支持tomcat6和tomcat7
comet4j完整包、comet4j.js、comet4j-tomcat6.jar、comet4j-tomcat7.jar
comet4j消息推送所需的comet4j-tomcat7.jar包,comet4j-tomcat7.jar