• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Web的消息推送技術中的消息推送和消息服務

      2016-09-08 08:56:34姜淑芳雍寧葛華森
      中國新通信 2016年15期
      關鍵詞:服務器

      姜淑芳 雍寧 葛華森

      【摘要】 “服務器推送技術”是最近Web技術中最熱門的一個流行術語。它也是繼“Ajax”之后又一個倍受追捧的Web技術。該技術最近的流行跟“Ajax ”也有著密切的關系。隨著 Ajax技術的興起,這讓廣大的web開發(fā)人員又一次看到了使用瀏覽器來替代桌面應用的大好機會,并且這次機會非常大。Ajax將整個頁面的刷新變成頁面局部的刷新,并且數據的傳送是以異步方式進行。

      【關鍵詞】 Web 消息推送 消息推送技術 服務器 消息服務 Ajax

      一、引言

      很多應用譬如信息檢測監(jiān)控、即時通信功能、即時報價信息系統(tǒng)都需要將后臺發(fā)生的變化實時傳送到前段客戶端而無須客戶端不停地刷新、發(fā)送請求。本文主要介紹了Web層的消息推送和服務層的消息服務業(yè)務,消息推送介紹了套接字、HTTP請求輪詢及其各種原理、Html5還有多客戶端兼容性支持,服務層的消息推送業(yè)務里介紹了消息域和消息確認模塊。

      二、Web 層的消息推送

      2.1 套接字

      套接字可以使用接口來進行全雙工的通訊。也就是可以通過 Flash XMLSocket、Java Applet 技術實現。但是由于有的時候實現方案與商業(yè)中技術綁定過緊,此不能屬于Web 標準化范圍,而且還存在一些定的限制,這里不細述。

      2.2 HTTP 請求-輪詢

      當前的 Web 應用業(yè)務都是基于 HTTP 協議實現的,HTTP協議就規(guī)定了那種通過請求來反應的處理模式,而在應用層的單工通訊模式對于實現真正的服務器推送方式又變得難了。為了基于 HTTP 協議進行“推送”實現,可由客戶端發(fā)起 HTTP 請求輪詢,服務端在請求后返回響應。根據輪詢的執(zhí)行時間、請求的處理方式,分為以下輪詢方式:

      簡單輪詢方式原理:客戶端一般會以定時的方式發(fā)起請求,服務端接到請求后返回響應消息。

      輪詢原理、客戶端/服務端的簡單實現;

      可以根據應用的場景調整輪詢時間的間隔;

      服務端需要即時處理大量的請求。

      長輪詢方式原理:客戶端在發(fā)起請求了之后服務端將該請求掛起(也就是暫時不響應),直到超時、異常或需要處理響應(推送消息內容)時才返回響應。然后,客戶端在收到響應后再次輪詢(也就是請求)到服務端,同時開始處理其響應。

      此原理的實時性較高;

      服務端需要在必要時管理掛起請求。

      HTTP 流方式原理:客戶端發(fā)起請求后在服務器端處理請求,并且通過 HTTP 流的方式一直向客戶端寫入數據消息,直到超時或異常才返回給服務器響應。在連接斷開后客戶端會再次和多次請求到服務端,這也就屬于長輪詢方式的一種。

      2.3 HTML 5 - WebSocket

      這是標準化的客戶端使用全雙工通訊的規(guī)范,但由于目前的服務器端規(guī)范還沒有形成一個真正的規(guī)范型,且大部分瀏覽器對新的 HTML5的兼容性還是有限的,這里不再敘述。

      2.4 多客戶端支持

      上述介紹是針對瀏覽器端的,而在實際應用場景中,還需要考慮其他客戶端兼容性,例如 IOS、Android,甚至Linux等系統(tǒng)。在移動客戶端也就是軟件方面,需要考慮如下幾點:APIs 的多樣性:不同的客戶端在本地 APIs 接口逗存在不同樣子的差異,但基本都支持最基本的 HTTP 協議,因為這是一個基礎,而且直接用基于 HTTP 協議進行開發(fā)的可以將差異變小。網絡連接不穩(wěn)定性:通信道打開后不一定能長時間維護,客戶端、服務端的狀態(tài)管理比較復雜。最小化的流量:需要盡量的最小化網絡流量需求,提升移動客戶端的持續(xù)可用性。

      三、服務層的消息服務

      消息是指系統(tǒng)或組件間通訊的一種低耦合的模式,是系統(tǒng)級的異步架構的基礎元素。在 Web 消息推送中,服務端管理應用狀態(tài),當其狀態(tài)發(fā)生了變化時需發(fā)送到客戶端,完成消息的推送。Java Message Service中需要重點關注如下技術點:消息域模塊:點對點——有且只有一個客戶端可以通過消息域接收到消息。發(fā)布/訂閱——通過發(fā)布給已經訂閱的客戶端??膳渲贸沙志没挠嗛?。消息確認模塊:會話在本地事務在提交的時候會對接收數據來進一步的確定,回滾的時候將重傳所有的消息,達到消息確認的目的。非本地事務確認方法是:Session.AUTO_ACKNOWLEDGE、Session.CLIENT_ACKNOWLEDGE、Session.DUPS_OK_ ACKNOWLEDGE

      總結 :本文介紹了如何在現有的web消息推送技術基礎上選擇合適的方案開發(fā)一個“服務器推”的應用,最優(yōu)的方案還是取決于應用需求的本身。相對于傳統(tǒng)的 Web 應用, 目前熱門開發(fā) Comet 應用還是有一定的挑戰(zhàn)性的。需求推動技術的發(fā)展,相信 Comet 的應用會變得和 AJAX 一樣普及。

      參 考 文 獻

      [1] 陳航,趙方. 基于服務器推送技術和XMPP的WebIM系統(tǒng)實現[J]. 計算機工程與設計. 2010(05)

      [2] C.J.Date著,數據庫系統(tǒng)導論(第七版). 機械工業(yè)出版社

      [3] Stephens著,數據庫設計. 機械工業(yè)出版社

      [4] 周婷,Comet:基于 HTTP 長連接的“服務器推”技術. http://www.ibm.com/developerworks/cn/web/wa-lo-comet/

      猜你喜歡
      服務器
      通信控制服務器(CCS)維護終端的設計與實現
      得形忘意的服務器標準
      知識產權(2016年8期)2016-12-01 07:01:13
      計算機網絡安全服務器入侵與防御
      服務器操作系統(tǒng)可信加固技術研究
      湖北電力(2016年10期)2016-04-25 07:55:55
      關于Linux的視頻服務器開發(fā)與實現分析
      河南科技(2014年18期)2014-02-27 14:14:43
      積分刷刷刷-FTP服務器篇
      仁怀市| 密山市| 米脂县| 商丘市| 呼伦贝尔市| 永春县| 横峰县| 乌鲁木齐市| 专栏| 中山市| 福清市| 广河县| 霞浦县| 闻喜县| 甘孜县| 平和县| 富宁县| 荥阳市| 黔南| 蒲城县| 共和县| 云浮市| 蒲江县| 仙桃市| 泸定县| 淄博市| 临夏县| 和田市| 红原县| 伊金霍洛旗| 福安市| 海安县| 航空| 上思县| 乾安县| 中宁县| 郸城县| 临夏市| 改则县| 忻州市| 金乡县|