Comet技术详解:服务器推送模型与实现策略
需积分: 10 54 浏览量
更新于2024-08-18
收藏 297KB PPT 举报
本文主要介绍了Comet应用实现模型,这是一种服务器推送技术,用于实现实时的Web通信。Comet技术允许服务器主动向客户端推送数据,而不是由客户端不断发起请求来获取新信息,从而提高了交互性。
### 简介
服务器推送技术(Comet)的核心理念是改变传统的浏览器拉取信息模式,转变为服务器主动推送信息。在Comet模型中,服务器发送数据后,浏览器显示这些数据并保持连接状态,以便服务器可以在需要时再次发送数据,持续更新内容,特别适用于实时性需求高的应用,如监控系统、即时通讯和实时报价系统等。
### 应用举例
- 监控系统:当系统检测到异常情况时,可立即向用户推送报警信息。
- 即时通信系统:用户之间的消息传递和登录状态更新。
- 即时报价系统:股票、商品等价格的实时更新。
- 实时事件通知:例如新闻、体育赛事更新。
### 服务器推送方式
- 基于客户端套接口:利用RMI、CORBA或自定义TCP/IP协议的Applet。
- Comet:使用HTTP长连接,无需浏览器安装额外插件。
### Comet应用实现模型
- **基于AJAX的长轮询**:服务器在接收到客户端请求后不立即响应,而是等到有新事件时将事件数据返回给客户端,然后结束响应,客户端立刻再次发起请求。
- **基于Iframe及htmlfile的流**:在HTML页面中插入一个隐藏的Iframe,设置其SRC属性为长连接请求,服务器可以持续向客户端推送数据。
### 与客户端拉曳的比较
- 客户端拉曳(ClientPull):客户端定时向服务器请求最新数据。
- 优点:服务器控制数据更新的时机和频率。
- 缺点:服务器端保持连接可能浪费资源,且连接容易中断。
### Comet优缺点
- 优点:提供实时数据更新,提高用户体验。
- 缺点:服务器资源消耗大,且连接稳定性是个挑战。
### 实现Comet的开源框架
- Pushlet:通过Servlet或JSP将JavaScript代码作为HTTP流推送到浏览器,由浏览器的JavaScript引擎执行。
- DWR (Direct Web Remoting):允许Java对象直接在浏览器中调用。
- CometD:一个基于Dojo Toolkit的可扩展的服务器推送框架。
### Pushlet优缺点
- 优点:简化了服务器推送的实现,提供了一种直观的方式。
- 缺点:可能需要处理兼容性和性能优化问题。
Comet技术通过服务器推送解决了Web实时通信的问题,虽然存在资源消耗和连接稳定性问题,但通过各种开源框架的应用,已经在实时Web应用领域发挥了重要作用。
2014-06-20 上传
2015-03-06 上传
2019-08-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-07-08 上传
黄子衿
- 粉丝: 20
- 资源: 2万+
最新资源
- 掌握压缩文件管理:2工作.zip文件使用指南
- 易语言动态版置入代码技术解析
- C语言编程实现电脑系统测试工具开发
- Wireshark 64位:全面网络协议分析器,支持Unix和Windows
- QtSingleApplication: 确保单一实例运行的高效库
- 深入了解Go语言的解析器组合器PARC
- Apycula包安装与使用指南
- AkerAutoSetup安装包使用指南
- Arduino Due实现VR耳机的设计与编程
- DependencySwizzler: Xamarin iOS 库实现故事板 UIViewControllers 依赖注入
- Apycula包发布说明与下载指南
- 创建可拖动交互式图表界面的ampersand-touch-charts
- CMake项目入门:创建简单的C++项目
- AksharaJaana-*.*.*.*安装包说明与下载
- Arduino天气时钟项目:源代码及DHT22库文件解析
- MediaPlayer_server:控制媒体播放器的高级服务器