reverseajax(comet) socket 杂记
?
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開(kāi)發(fā)客服系統(tǒng)(持久連接+輪詢+反向ajax)
?http://www.cnblogs.com/lichuntian/p/4569615.html 【各種方法綜述,很不錯(cuò)。】
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【新發(fā)現(xiàn),單向從服務(wù)器到html端推送數(shù)據(jù) EventSource,簡(jiǎn)潔版】
http://blog.csdn.net/bamboolsu/article/details/48653317 【新發(fā)現(xiàn),單向從服務(wù)器到html端推送數(shù)據(jù) EventSource】
http://www.52im.net/thread-336-1-1.html【新發(fā)現(xiàn),好好讀讀,四種即時(shí)通訊技術(shù)介紹】
http://www.cnblogs.com/imstudy/p/5682555.html【EventSource詳解,包括IE支持】
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills【各種polyfills補(bǔ)丁】
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技術(shù)(comet),其實(shí)還是非常簡(jiǎn)單的。記錄下自己的理解:】
有兩種方法:①ajax長(zhǎng)輪詢②iframe長(zhǎng)連接。分別記錄如下:
首先,服務(wù)器腳本實(shí)時(shí)接收到的數(shù)據(jù)(比如從ios端)必須首先借助第三方(比如數(shù)據(jù)庫(kù)或者文件)將其存儲(chǔ)起來(lái),然后腳本從數(shù)據(jù)庫(kù)或者文件里讀取數(shù)據(jù),然后再將其推送給前端。如果不借助第三方,comet是無(wú)能為力的。但socket可以實(shí)現(xiàn)直接推送。所以comet技術(shù)算是非常過(guò)時(shí)的技術(shù)。
一,ajax長(zhǎng)輪詢:
①,首先 ‘長(zhǎng)’ 字的含義,長(zhǎng)是相對(duì)于普通ajax請(qǐng)求而言的。普通ajax請(qǐng)求一個(gè)服務(wù)器腳本,腳本立馬返回值,然后這次請(qǐng)求就結(jié)束了。而長(zhǎng)輪詢請(qǐng)求一個(gè)服務(wù)器腳本,服務(wù)器腳本通過(guò)while(true),如果查不到數(shù)據(jù)就一直不跳出循環(huán),此次ajax請(qǐng)求就一直不會(huì)結(jié)束(被擱置),直到查到數(shù)據(jù)才跳出循環(huán),此時(shí)此次ajax請(qǐng)求才結(jié)束。然后繼續(xù)下一次ajax長(zhǎng)連接,就可以達(dá)到服務(wù)器推送數(shù)據(jù)到前端的目的。
②,示例代碼如下
html端代碼
服務(wù)器端代碼如下:
?
二,iframe長(zhǎng)連接:
①,iframe長(zhǎng)連接是受ajax長(zhǎng)連接啟發(fā)出現(xiàn)的技術(shù)。前端html里嵌入一個(gè)iframe,src設(shè)為一個(gè)服務(wù)器腳本。服務(wù)器腳本通過(guò)while(true)循環(huán),永遠(yuǎn)不跳出循環(huán),查詢到數(shù)據(jù)就會(huì)flush此數(shù)據(jù),前端iframe就會(huì)顯示此數(shù)據(jù)。【注意,瀏覽器一直是在加載狀態(tài),自己測(cè)的時(shí)候丟的數(shù)據(jù)很多!!】
②,相關(guān)代碼
html代碼
服務(wù)器端代碼:
?
總結(jié)
以上是生活随笔為你收集整理的reverseajax(comet) socket 杂记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 加油励志的句子168个
- 下一篇: ssh-add Could not op