隨筆-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 閱讀(6190) 評論(1)  編輯  收藏 所屬分類: other

          評論:
          # re: 開源框架Pushlet入門 2010-04-24 10:40 | 隔葉黃鶯
          這個要關注,B/S 結構,即時性,Push 是個話題。   回復  更多評論
            
          主站蜘蛛池模板: 汕头市| 错那县| 冷水江市| 诸城市| 太白县| 大渡口区| 阜城县| 阿瓦提县| 行唐县| 崇州市| 宁国市| 泰和县| 五莲县| 灵寿县| 上杭县| 麻江县| 金坛市| 工布江达县| 依安县| 红河县| 百色市| 楚雄市| 洛南县| 建始县| 剑河县| 威远县| 西昌市| 思茅市| 湖州市| 若羌县| 临汾市| 大冶市| 开平市| 新邵县| 望奎县| 三原县| 东丰县| 积石山| 邵阳县| 拉孜县| 丰原市|