官方文档
名词解释
BC: bayeux 客户端
U: User Agen
P: proxy 代理
O: 普通的HTTP SERVER
BS: bayeux 服务
客户端到服务的的事件传播
引用
BC ---------- U ---------- P ------------ O ---------- BS
| --M0(E)--> | | | | //消息(事件)
| | ---HTTP request(M0(E))--> | |
| | | | --M0(E)--> |
| | | | <---M1---- | //服务端响应
| | <---HTTP response(M1)---- | |
| <---M1--- | | | |
| | | | |
服务端到客户端的事件传播
引用
BC ---------- U ---------- P ------------ O ---------- BS
| ---M0---> | | | | //联接服务
| | --- HTTP request(M0) ---> | |
| | | | ----M0---> |
~ ~ ~ ~ ~ wait //等待
| | | | <--M1(E)-- | //事件
| | <--HTTP response(M1(E))-- | | //响应
| <--M1(E)-- | | | |
~ ~ ~ ~ ~
循环联接:
客户端连接到服务端后,一直阻塞等待服务端的响应,收到响应后,断开本次连接,然后重新联接服务端继续等待
引用
BC ---------- U ---------- P ------------ O ---------- BS
| ---M0---> | | | | //连接服务
| | --- HTTP request(M0) ---> | |
| | | | ----M0---> |
~ ~ ~ ~ ~ wait
| | | | <--M1(E)-- | //触发事件
| | <--HTTP response(M1(E))-- | | //响应
| <--M1(E)-- | | | |
| ---M2---> | | | | //重新连接
| | --- HTTP request(M2) ---> | |
| | | | ----M2---> |
~ ~ ~ ~ ~ wait
流式连接:
和上面的基本相同只是收到响应后不断开连接,一直保持连接状态
引用
BC ---------- U ---------- P ------------ O ---------- BS
| ---M0---> | | | |
| | --- HTTP request(M0) ---> | |
| | | | ----M0---> |
~ ~ ~ ~ ~ wait
| | | | <--M1(E0)- |
| | <--HTTP response(M1(E0))- | |
| <--M1(E0)- | | | |
~ ~ ~ ~ ~ wait
| | | | <--M1(E1)- |
| | <----(M1(E1))------------ | |
| <--M1(E1)- | | | |
~ ~ ~ ~ ~ wait
双连接:
将请求分2个HTTP连接,这样就可以异步处理。 req1的响应可能在req0之前
引用
BC ---------- U ---------- P ------------ O ---------- BS
| ---M0---> | | | |
| | ------ req0(M0) --------> | |
| | | | ----M0---> |
~ ~ ~ ~ ~ wait
| --M1(E1)-> | | | |
| | ----- req1(M1(E1))------> | |
| | | | --M1(E1)-> |
| | | | <---M2---- |
| | <---- resp1(M2)---------- | |
| <---M2--- | | | |
~ ~ ~ ~ ~ wait
| | | | <-M3(E2)-- |
| | <-----resp2(M3(E2))------ | |
| <-M3(E2)-- | | | |
| ---M4---> | | | |
| | ------req3(M4)----------> | |
| | | | ----M4---> |
~ ~ ~ ~ ~ wait
分享到:
相关推荐
源码中包含对Bayeux协议的解析、连接管理、事件处理等功能,可以学习到如何利用Ajax技术实现长连接,以及如何设计高效的事件监听和处理。 总结来说,jQuery-Bayeux是实现Web实时通信的强大工具,它简化了Bayeux协议...
CometD是一个开源的、基于Bayeux协议的JavaScript库,用于实现服务器推送技术(Server-Sent Events)。它使得Web应用程序能够实现实时通信,即服务器可以主动向客户端推送数据,而无需客户端频繁地发送请求。这个...
CometD是一个开源的、基于Java的WebSocket和Bayeux协议的实时Web应用程序框架。它提供了服务器推送技术,使得服务器可以主动向客户端发送数据,而不仅仅是响应客户端的请求。CometD的核心理念是通过长连接来实现双向...
【JavaBayeuxCometDChat】是一个基于Java和CometD实现的实时聊天应用程序示例,它利用了Bayeux协议来实现WebSocket和Ajax的双向通信。这个项目旨在展示如何构建一个高效的、低延迟的实时通信平台,适用于在线聊天、...
CometD是一个开源的、基于Java的WebSocket和Bayeux协议的实时Web应用程序框架,它使得服务器能够与浏览器或其他客户端进行双向通信,实现高效的推送服务。这个“CometD2.x官方帮助手册”是该技术的离线版文档,包含...
CometD是一个基于Bayeux协议的开源JavaScript库,它实现了服务器推送技术,允许服务器主动向客户端发送数据,而不仅仅是响应客户端的请求。这个“cometd实例demo”提供了使用CometD的一个实际示例,可以帮助开发者...
通过查看源码,我们可以学习到如何处理`Bayeux`协议的消息交换,以及如何使用`testify`构建复杂的测试场景。 总之,从`BayeuxTestProcessor`迁移到`testifyProcessors`是一个提升测试质量和效率的过程。开发者需要...
Cometd是一种基于Bayeux协议的实时Web通信技术,旨在解决Web应用中的低延迟、双向通信问题。它利用长轮询(Long Polling)或流(Streaming)等技术实现服务器向客户端推送数据,从而创建实时更新的用户体验。 在...
- **内容**: 介绍了如何在Atmosphere框架中支持Bayeux协议,这是一种常用的实时通信协议。 #### 四、技术栈 - **异步HTTP**: Atmosphere框架的核心在于其异步处理能力,能够高效地处理大量并发连接。 - **Jersey*...
CometD 支持多种协议(如 Bayeux 协议)和多种服务器平台,如 Java、JavaScript、Tomcat 等,提供了一个统一的方式来处理服务器到客户端的推送。 在 CometD 中,服务器和客户端之间通过长轮询、HTTP 穿透、IFrame ...
**Bayeux** 协议是 CometD 实现的基础,定义了服务器与客户端之间实时通信的数据格式和交互流程。它支持多种消息类型,如发布、订阅、确认等,确保了可靠的消息传递。 ### 5. CometD 服务器端配置 在 `...
在Java编程领域,CometD是一个基于Bayeux协议的开源库,它实现了服务器推送技术,允许服务器主动向客户端发送数据,而不是等待客户端发起请求。CometD 3.0.0版本是其一个重要里程碑,这个版本可能包含了性能优化、新...
CometD是一个开源的WebSocket和AJAX双向通信框架,它实现了Bayeux协议,允许服务器主动向客户端推送数据,实现低延迟的实时通信。Spring框架则为这个项目提供了强大的依赖注入和面向切面编程能力,使得服务端组件的...
CometD 是一种基于Bayeux协议的双向通信框架,用于实现实时的、低延迟的Web应用程序。在"ddf-cometd-examples"项目中,DDF与CometD API的结合为开发人员提供了利用JavaScript实现双向通信和实时数据交换的示例。 这...