锁定老帖子 主题:AJAX 反推技术的一点疑问
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-09-08
最后修改:2011-09-08
但是这个反推技术,貌似打破了这个规律,我就想不明白了,有人知道其原理吗? 如果说其实它的底层还是没有脱离这个规律,还是要由客户端定时的去刷服务器,只是很小的一个数据标志,那我也能理解,基于这个也是可以实现很多效果,但是好像又总觉得不应该会是这样的一个东西。 有朋友对这个有了解的吗?一起交流交流. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-09-08
最后修改:2011-09-08
ajax反推技术并非真正意义上的服务器推,只是一个模拟。主要是基于HTTP长连接
相关介绍:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ |
|
返回顶楼 | |
发表时间:2011-09-08
两种方法
长连接 和轮询 有WebSocket就爽了啊!嘎嘎 |
|
返回顶楼 | |
发表时间:2011-09-08
最后修改:2011-09-08
axiheyhey 写道 ajax反推技术并非真正意义上的服务器推,只是一个模拟。主要是基于HTTP长连接
相关介绍:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 长连接看了这个,有点了解了,轮询可否再指点一下? |
|
返回顶楼 | |
发表时间:2011-09-08
ajax伪长链接,即一个ajax请求发起,到服务器端之后,服务器端不会立刻进行数据查询,而是将这个请求作为一个“通道”保持下来
当服务器需要“推”的时候,就会找到这个通道,将数据放进去,关掉通道,客户端就有了“推”的现象(达到了实时性和服务器主动性) 而客户端需要做的,就是在这个“通道”被关闭后,立即再打开一个通道,即再发一个ajax请求给服务器 |
|
返回顶楼 | |
发表时间:2011-09-10
所以用firebug看的时候,会发现一个又一个的请求在不断地发出,关闭,发出,关闭
|
|
返回顶楼 | |
发表时间:2011-09-10
white_crucifix 写道 所以用firebug看的时候,会发现一个又一个的请求在不断地发出,关闭,发出,关闭
+1 可以看到后台不推送消息的时候,一个连接一直在请求. 当后台推送消息时候,这个连接结束,处理推送消息,然后再次请求. 动作循环. |
|
返回顶楼 | |
发表时间:2011-09-10
脱离请求-发送机制,直接将服务器上的数据推送给客户端,是不符合HTTP理论的。
我估计就是一个HTTP长连接。 |
|
返回顶楼 | |
发表时间:2011-09-10
轮询形式是通过 AJAX 每隔一定时间调用请求,查看服务器中是否有新消息接收,如果有则在回调函数中显示。
|
|
返回顶楼 | |
发表时间:2011-09-11
shi007 写道 轮询形式是通过 AJAX 每隔一定时间调用请求,查看服务器中是否有新消息接收,如果有则在回调函数中显示。
那轮询的意思,实际上就是由客户端定时发请求呀。比如每隔5秒去服务器请求,这样不是服务器压力很大,还会有延迟? |
|
返回顶楼 | |