http://blog.it985.com/7797.html
http://www.ibm.com/developerworks/web/library/wa-reverseajax1/index.html#download
(翻译 http://www.cnblogs.com/ronli/archive/2011/10/15/ReverseAjax.html )
http://www.cnblogs.com/killers888/p/5045955.html php开发客服系统(持久连接+轮询+反向ajax)
http://www.cnblogs.com/lichuntian/p/4569615.html 【各种方法综述,很不错。】
http://www.cnblogs.com/jackluo/p/3728933.html
https://code.tutsplus.com/tutorials/start-using-html5-websockets-today--net-13270
http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
http://socket.io/
http://nodejs.org/
http://www.cnblogs.com/longfeiPHP/p/5190155.html【新发现,单向从服务器到html端推送数据 EventSource,简洁版】
http://blog.csdn.net/bamboolsu/article/details/48653317 【新发现,单向从服务器到html端推送数据 EventSource】
http://www.52im.net/thread-336-1-1.html【新发现,好好读读,四种即时通讯技术介绍】
http://www.cnblogs.com/imstudy/p/5682555.html【EventSource详解,包括IE支持】
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills【各种polyfills补丁】
https://www.baidu.com/s?ie=UTF-8&tn=ubuntuu_cb&wd=PHP%20ServerPush%20%E6%95%B0%E6%8D%AE%E6%8E%A8%E9%80%81%E6%8A%80%E6%9C%AF%20%E5%8D%B3%E5%8F%8D%E5%90%91Ajax
https://www.baidu.com/s?ie=UTF-8&tn=ubuntuu_cb&wd=php%20%E4%B8%8D%E5%90%8C%E8%BF%9B%E7%A8%8B%E4%B9%8B%E9%97%B4%E5%85%B1%E4%BA%AB%E6%95%B0%E6%8D%AE
【又重新理解了一遍 反向ajax技术(comet),其实还是非常简单的。记录下自己的理解:】
有两种方法:①ajax长轮询②iframe长连接。分别记录如下:
首先,服务器脚本实时接收到的数据(比如从ios端)必须首先借助第三方(比如数据库或者文件)将其存储起来,然后脚本从数据库或者文件里读取数据,然后再将其推送给前端。如果不借助第三方,comet是无能为力的。但socket可以实现直接推送。所以comet技术算是非常过时的技术。
一,ajax长轮询:
①,首先 ‘长’ 字的含义,长是相对于普通ajax请求而言的。普通ajax请求一个服务器脚本,脚本立马返回值,然后这次请求就结束了。而长轮询请求一个服务器脚本,服务器脚本通过while(true),如果查不到数据就一直不跳出循环,此次ajax请求就一直不会结束(被搁置),直到查到数据才跳出循环,此时此次ajax请求才结束。然后继续下一次ajax长连接,就可以达到服务器推送数据到前端的目的。
②,示例代码如下
html端代码
服务器端代码如下:
二,iframe长连接:
①,iframe长连接是受ajax长连接启发出现的技术。前端html里嵌入一个iframe,src设为一个服务器脚本。服务器脚本通过while(true)循环,永远不跳出循环,查询到数据就会flush此数据,前端iframe就会显示此数据。【注意,浏览器一直是在加载状态,自己测的时候丢的数据很多!!】
②,相关代码
html代码
服务器端代码: