对于像聊天室、在线IM这类应用,如果只是用ajax,还是有一定的缺陷,因为这些应用要求实时性很高,而传统的web应用都是基于请求-响应模式,所以需要不断的去定时刷新页面才能保准与服务器段状态的一致性,显然,对于这类应用来说,采用刷新的方式明显是在浪费资源。
有人提出了一种叫Comet的 概念,就是保持客户端与server端的http链接,这样服务器端有任何更新可以马上通过response推给客户端,可以通过设置http协议中的 keep-alive头来实现,已经有利用push技术实现的项目,如gmail中新增的在线gtalk,具体其是怎么实现还未有文档参考。
comet存在的一个问题是当在线人数太多,需要保持太多的http链接,这在性能上会带来很大问题,而且现在主流的web server都没有专门正对http push进行优化。
dojo据说已经支持comet,dwr也将在下一个版本支持。
参考资料:
原文链接:
http://dev.collin.cn/detail/3.html
分享到:
- 2007-06-28 16:42
- 浏览 2781
- 评论(0)
- 论坛回复 / 浏览 (0 / 1671)
- 查看更多
相关推荐
Web QQ是腾讯公司推出的一款基于Ajax技术实现的网页版即时通讯工具,它允许用户在无需安装客户端软件的情况下,通过浏览器就能进行QQ聊天、发送文件、查看好友动态等操作。Ajax,全称Asynchronous JavaScript and ...
在 Web 开发中,Comet 技术是一种实现服务器向客户端实时推送数据的策略,通常被称为“反向 AJAX”或“服务器端推”。它打破了传统的 HTTP 请求-响应模式,使得服务器可以在不需要客户端发起请求的情况下主动发送...
一:iframe + 服务器推技术comet(反向ajax,即服务器向浏览器推送数据) 二:ajax持久连接 + 长轮询 客服端采用第一种方式:iframe + 服务器推技术 思路: 1:新建comentbyiframe.php 该用文件使用while(true)一直连接...
在Web开发中,实现反向Ajax技术的主要手段包括Comet和WebSocket。 场景描述: 1. 当有新邮件到达时,页面可以自动弹出提示信息,而无需用户刷新收件箱。 2. 当用户的手机扫描完页面中的二维码后,页面可以自动跳转...
2. 长连接方式:与间隔请求不同,长连接方式只建立一次连接,之后保持连接开放状态,服务器可以通过这个持续的连接将数据推送给客户端。这种方式减少了连接次数,但需要占用服务器资源直到连接超时。 3. 长连接+长...
这可能包括缓存策略、数据库查询优化以及使用 comet 或 WebSocket 实现服务器推送,以降低服务器负载并提高用户体验。 7. **论文与任务书**:压缩包中包含的论文可能是对整个项目的技术分析和设计过程的详细描述,...
听闻了反向ajax技术这种模式之后,大呼神奇,试了一下之后发现也确实可以用。不过,反向ajax的代价也很明显,只要客户端还和服务端要有信息交互,服务端就必须还维持客户端的这个请求,然后在合适的时候返回。当...
- **长轮询(Ajax Long Polling)**:客户端向服务器发起请求后,若服务器暂时没有新数据,则不会立即返回响应,而是保持连接直到有新数据到达再返回。相比短轮询,这种方式减少了不必要的请求,但仍然不是最优解。 - ...
- **复杂性管理**:为了实现全双工通信,开发者不得不采用如AJAX和Comet等技术,这会带来额外的复杂性和性能开销。 ##### 2.3 WebSocket的优点 - **全双工通信**:WebSocket提供了一个持久的、双向的数据通道,...
实现了实时的群聊,实时更新在线用户。 ext + ibatis + spring + struts2 + dwr实现,数据库自己建一个,改spring的配置文件就行,表名:users,字段只有三个:id(int),name,password 这个版本是我做的测试版本...