因為專注,所以專業

          我的Java Blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            21 隨筆 :: 30 文章 :: 6 評論 :: 0 Trackbacks
          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          公告

          玩玩J2ME

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          Android

          CSS

          Hibernate

          Java1.5泛型指南中文版

          log4j

          Maven

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          使用Ajax可以開發出基于瀏覽器的具有高用戶交互性和幾乎不易覺察到延遲的web應用。實時的動態數據比如新聞標題、證券報價和拍賣行情都需要盡快地發送給用戶。然而,AJAX仍然受限于web請求/響應架構的弱點,使得服務器不能推送實時動態的web數據。

          Delft科技大學的EnginBozdag、AliMesbah和ArievanDeursen一起討論了下面這些可以實現基于web的實時事件通知的方法:

          1.HTTP拉取方式:在這種傳統的方法中,客戶端以用戶可定義的時間間隔去檢查服務器上的最新數據。這種拉取方式的頻率要足夠高才能保證很高的數據精確度,但高頻率可能會導致多余的檢查,從而導致較高的網絡流量。而另一方面,低頻率則會導致錯過更新的數據。理想地,拉取的時間間隔應該等于服務器狀態改變的速度。

          2.HTTP流:這種方法由存在于不間斷的HTTP連接響應中或某個XMLHttpRequest連接中的服務器數據流所組成。

          3.反轉AJAX:服務流應用到AJAX,就是所謂的反轉AJAX或者COMET。它使得服務器在某事件發生時可以發送消息給客戶端,而不需要客戶端顯式的請求。目標在于達到狀態變化的實時更新。COMET使用了HTTP/1.1中的持續連接的特性。通過HTTP/1.1,除非另作說明,服務器和瀏覽器之間的TCP連接會一直保持連接狀態,直到其中一方發送了一條明顯的“關閉連接”的消息,或者有超時以及網絡錯誤發生。

          4.長時間輪詢:也就是所謂的異步輪詢,這種方式是純服務器端推送方式和客戶端拉取方式的混合。它是基于BAYEUX協議的。這個協議遵循基于主題的發布——訂閱機制。在訂閱了某個頻道后,客戶端和服務器間的連接會保持打開狀態,并保持一段事先定義好的時間。如果服務器端沒有事件發生,而發生了超時,服務器端就會請求客戶端進行異步重新連接。如果有事件發生,服務器端會發送數據到客戶端,然后客戶端重新連接。
          posted on 2009-04-25 13:13 kevin.zhan 閱讀(267) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 岳西县| 黄浦区| 绵阳市| 许昌市| 奈曼旗| 玛纳斯县| 临泽县| 新蔡县| 鸡东县| 双牌县| 屯门区| 清河县| 四平市| 洪湖市| 玉溪市| 错那县| 女性| 乌兰浩特市| 弥渡县| 饶平县| 呈贡县| 吉首市| 台前县| 抚远县| 共和县| 沅陵县| 调兵山市| 墨玉县| 四会市| 射阳县| 南投市| 宁化县| 左权县| 潞西市| 侯马市| 蒙城县| 泌阳县| 和政县| 漳平市| 邵东县| 金昌市|