本帖最后由 上海分校-小影 于 2018-10-12 15:10 编辑
反向Ajax(Reverse Ajax),属于服务器推技术,在实时聊天和消息推送中应用的比较广,我们要了解反向Ajax、轮询(polling)、流(streaming)、Comet和长轮询(long polling),学习如何实现不同的反向Ajax通信技术,并探讨每种方法的优点和缺点。 首先,没有用反向ajax的情形是怎么样的?
就像美国派情报人员刺探中国军情一样,刚开始,不知道什么时候有情报,所以,不管有没有情报,美国情报人员都每隔一天来中国看一次(连上后看下服务器就断开,2秒后重复),隔着太平洋呢浪费油钱也浪费精力,反向ajax呢,情报人员赖在中国不走了,什么时候有情报了再回去报告(使用http的“长连接”与trunk传输(trunk有分块传输的意思)可以有情报了也不用回美国,就一直呆着),没有情报就一直在中国等,不用回美国,(连接上服务器后就不断开了,有了消息才断开返回)。
具体做法:
1,要有个php死循环,一直运行,有消息就推送到浏览器上。
以上是模型; 具体的聊天室肯定不能干巴巴的直接放在页面,要嵌套一个iframe,iframe使用上面的模型,它会不断的得到服务器的数据; 让iframe得到的消息包含js代码,<script>....</script> 让iframe中的js影响父页面的变化
|