隨筆-124  評論-49  文章-56  trackbacks-0


          來自:http://www.pussor.com/?p=3

          官網:http://www.pushlets.com/

          Ajax等Web 2.0技術的廣泛應用,推動了C/S向B/S的轉變,如今很多應用如監控、即時通信等系統都需要實時同步服務器端和客戶端的數據更新。Comet在這種需求下應運而生,本文簡單介紹了基于Comet的開源框架Pushlet。

          Comet基礎

          Comet 是一個用于描述客戶端和服務器之間的交互的術語,即使用長期保持的 HTTP 連接來在連接保持暢通的情況下支持客戶端和服務器間的事件驅動的通信。

          —引用自“Comet的誘惑”

          傳統的web系統的工作流程是客戶端發出請求,服務器端進行響應,而Comet則是在現有技術的基礎上,實現服務器數據、事件等快速PUSH到客戶端,所以會出現一個術語”服務器推“技術。

          PUSH實現方式

          JSP/SERVLET PUSH

          原理:

          利用JSP/SERVEL技術,在不關閉HTTP流的情況下PUSH數據到客戶端瀏覽器;

          實現:

          基于 AJAX 的長輪詢(long-polling)方式

          AJAX 的出現使得 JavaScript 可以調用 XMLHttpRequest 對象發出 HTTP 請求,JavaScript 響應處理函數根據服務器返回的信息對 HTML 頁面的顯示進行更新。使用 AJAX 實現“服務器推”與傳統的 AJAX 應用不同之處在于:

          1. 服務器端會阻塞請求直到有數據傳遞或超時才返回。
          2. 客戶端 JavaScript 響應處理函數會在處理完服務器返回的信息后,再次發出請求,重新建立連接。
          3. 當客戶端處理接收的數據、重新建立連接時,服務器端可能有新的數據到達;這些信息會被服務器端保存直到客戶端重 新建立連接,客戶端會一次把當前服務器端所有的信息取回。

          Pushlet實例

          以Pushlet中的ping案例來進行分析:

          1. 新建一個Web項目取名ping,并導入Pushlet的jar包;
          2. 在src目錄下配置sources.properties、pushlet.properties文件;
          3. webroot目錄下導入js-pushlet-client.js,js-pushlet-net.html;
          4. 新建TestEventPullSources.java;
          5. 新建index.html,引入js-pushlet-client.js;
          6. 新建pingok.jsp;
          7. 修改web.xml加上pushlet的servlet
          8. 打包、部署ping項目;



          實例1            Pushlet CookBook部分翻譯 + 注釋

          pushlet 2.0.3 源碼分析(服務器端)

          posted on 2010-04-23 13:38 junly 閱讀(6197) 評論(1)  編輯  收藏 所屬分類: other

          評論:
          # re: 開源框架Pushlet入門 2010-04-24 10:40 | 隔葉黃鶯
          這個要關注,B/S 結構,即時性,Push 是個話題。   回復  更多評論
            
          主站蜘蛛池模板: 措美县| 荔波县| 黑水县| 合川市| 丹寨县| 商丘市| 马尔康县| 呼图壁县| 台东市| 麻江县| 淳安县| 新绛县| 利川市| 东辽县| 深州市| 三亚市| 唐山市| 湘阴县| 泗水县| 沙湾县| 青浦区| 泸定县| 达日县| 长治市| 柳江县| 和硕县| 兴城市| 措勤县| 苏尼特左旗| 新宾| 汝南县| 醴陵市| 高碑店市| 维西| 黎平县| 阿鲁科尔沁旗| 奎屯市| 鲁山县| 讷河市| 张家口市| 瑞丽市|