999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web應用中的實時消息交互技術

2017-03-17 22:46:27衣鵬
電子技術與軟件工程 2016年16期
關鍵詞:頁面

衣鵬

摘 要

本文主要介紹了Web實時消息交互技術,以及目前在Web應用中進行實時消息交互的一些主流技術。

【關鍵詞】Web 實時消息

隨著Web的發展,客戶端與服務端之間的實時消息交互成為人們溝通交流的重要方式。比如門戶網站的實時新聞、SNS網站的用戶互動、企業網站的在線客服、大宗商品的即時交易、遠程設備的實時監控等常見的場景都需要用到基于Web的實時消息交互技術。

1 概述

Web實時消息交互應用需要服務器端實時地、主動地將后臺出現的變化呈現在客戶端的瀏覽器上,而無需客戶手動地去刷新頁面。

在傳統的HTTP請求/響應模式下,客戶端每建立一個連接都要向服務器端發送一個HTTP請求,當收到來自服務器端的HTTP響應后,如果該響應完全被發送或接收,服務器端就會關閉該連接。

2 主流的Web實時消息交互技術

2.1 客戶端輪詢模式(Polling)

客戶端通過執行網頁中的JS輪詢腳本,經由HTTP方式向服務器端定期循環的發送請求,詢問是否有新的消息產生,接收來自服務器的請求響應,返回相應信息,如果服務器端沒有響應,則會在相應的指令,關閉連接,等待后發送下一個請求。

優點:使用方便,實現簡單,開發成本低,無需做過多的更改。

缺點:如果輪詢間隔過長,會導致消息出現延遲,用戶無法及時接收更新的數據。如果輪詢時間過短,則會導致查詢請求過多,增加網絡資源消耗,服務器易產生峰值請求。

2.2 長輪詢模式(Long-Polling)

又稱服務端的輪。它是指當客戶端通過執行網頁中的JS輪詢腳本,經由HTTP方式向服務器端發送請求,建立連接后,如果服務器端沒有新的數據,就會保持連接,不斷地去查詢后臺消息,等待有效的更新,一旦有新消息產生,服務器就將消息返回給客戶端。客戶端收到響應消息后會立即關閉鏈接,并發送新的請求,開始下一次新的輪詢。

優點:時效性強,消息能及時返回客戶端;無消息更新不會頻繁請求,減少了不停地創建、關閉HTTP請求造成的不必要浪費。

缺點:開發成本高,實現復雜,需第三方庫支持;服務端保持大量連接的維護開銷大;多個數據發送會耗費大量的服務器性能;每次產生消息后都需要重新創建連接。

2.3 基于流的模式( Http Streaming )

該模式下,客戶端與服務器端會持續保持連接,當服務器端有新的消息更新時,服務器端就會通過該持續連接源源不斷的將消息返回給客戶端。該模式與前面的長輪詢模式相似,只是不需要多次建立連接。

優點:新的消息可以實時到達客戶端;客戶端與服務器端一次建立連接,持續有效。

缺點:服務器端需要保持大量連接,及時響應后臺的消息更新,開銷較大。

2.4 Server-Sent Events (SSE)

SSE模式與長輪詢類似,區別在于SSE的每個連接不只發送一個消息,通常會重用以處理多個消息。當客戶端與服務器端建立連接后,服務器端就持續保持該連接到一個有效的消息產生,并將該消息返回給客戶端。此時,先前建立的連接并不關閉,還可以繼續用于另一個有效消息的發送。一旦有新消息準備好,該連接就會將其發送回客戶端。

優點:基于HTML5標準;定義了專用媒體類型text/event-stream;提供了標準JS的客戶端API實現;開發實現簡單;一個連接可發送多個數據。

缺點:服務器端只能向客戶端單向推送數據;主流的IE瀏覽器不支持EventSource。

2.5 HTML5 Websocket

WebSocket是一種復雜的服務器端雙向傳輸技術。它基于HTML5標準,提供了在客戶端與服務器端進行全雙工通訊的網絡技術。客戶端和服務器端只需要通過握手動作就能迅速建立一條雙向快速通道,兩者就可以隨意向對方發送數據。此時,在新的WebSocket連接上的交互就不再是基于HTTP協議了。該技術可以用于在兩個方向上快速交互小塊數據的應用場景中。

優點:基于最新的HTML5標準;可以實現真正的實時通訊和雙向交互;大量節約服務器資源和帶寬。

缺點:客戶端需要支持HTML5;開發難度較高,需要專門處理WebSocket協議。

2.6 Flash XMLSocket

該技術在頁面中內嵌一個使用了XMLSocket類的Flash程序。JavaScript通過調用此Flash程序提供的Socket接口與服務器端的Socket接口進行通信。JavaScript在收到服務器端以XML格式傳送的信息后可以很容易地控制HTML頁面的顯示。

優點:增強了客戶端的處理能力;實現真正的即時而非偽即時通信。

缺點:客戶端必須安裝Flash插件;非HTTP協議;XMLSocket類不能自動穿過防火墻;需要設置一個通信端口。

2.7 Comet

Comet是一種基于HTTP長連接、無須在客戶端安裝插件的“服務器推”技術。該技術可使服務器將更新的信息實時地傳送到客戶端,而無須客戶端發出請求。目前有長輪詢和Iframe流兩種實現方式。長輪詢是在建立連接以后保持,直到服務器推送數據后再關閉的方式。Iframe流方式是在頁面中插入一個隱藏的Iframe,利用其src屬性在服務器和客戶端之間創建一條長鏈接,服務器向Iframe傳輸數據,來實時更新頁面。

優點:消息即時到達,不發送無用請求。

缺點:服務器端維持長連接會增加網絡開銷。

3 結語

實時消息技術在互聯網中的應用越來越廣,涵蓋的內容也越來越多,我們在此僅做概略性的介紹。在實際應用中,每種業務場景都要考慮各方面的細節,具體問題具體對待,需要大家在實際的開發應用中見仁見智了。

參考文獻

[1]韋伯,帕拉斯泰迪斯,魯濱遜.REST實戰[M].南京:東南大學出版社,2011.

[2]Darren Cook.Data Push Apps with HTML5 SSE[M].O'Reilly Media,2014.

作者單位

七一三七五部隊 山東省濰坊市 262600

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設計:為老人做設計
工業設計(2016年1期)2016-05-04 03:58:09
Web安全問答(3)
通信技術(2012年4期)2012-02-15 07:10:35
同一Word文檔 縱橫頁面并存
網站結構在SEO中的研究與應用
幾種頁面置換算法的基本原理及實現方法
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 无遮挡国产高潮视频免费观看| 99久久性生片| 色一情一乱一伦一区二区三区小说| 亚洲综合一区国产精品| 超碰aⅴ人人做人人爽欧美| 国产va欧美va在线观看| 中日韩一区二区三区中文免费视频 | 亚洲aaa视频| 久久青草视频| 香蕉99国内自产自拍视频| 国产91麻豆视频| 久久伊伊香蕉综合精品| 亚洲不卡影院| 一级毛片在线播放免费观看| 在线亚洲小视频| 国产综合在线观看视频| 国模极品一区二区三区| 欧美日韩国产成人高清视频| 久久无码av一区二区三区| 国产免费久久精品99re丫丫一| 亚洲精品色AV无码看| 亚洲码一区二区三区| 操美女免费网站| 欧美精品一区二区三区中文字幕| 亚洲人成亚洲精品| 国产精品尤物在线| 香蕉伊思人视频| 日日摸夜夜爽无码| 色亚洲激情综合精品无码视频| 免费久久一级欧美特大黄| 色婷婷在线影院| 色综合成人| 国产99欧美精品久久精品久久| 四虎国产永久在线观看| 国产精品分类视频分类一区| 久久99国产视频| 亚洲美女高潮久久久久久久| 久久久久国色AV免费观看性色| 亚洲三级色| 国产91高清视频| 无码综合天天久久综合网| 亚洲欧美h| 欧美啪啪网| 亚洲va欧美va国产综合下载| 综合社区亚洲熟妇p| 国产内射在线观看| 青青青亚洲精品国产| 亚洲欧美激情另类| 免费欧美一级| 国产在线一区二区视频| 女人18毛片水真多国产| 国产成人亚洲精品蜜芽影院| 污网站免费在线观看| 国产精品久久国产精麻豆99网站| 国产精品林美惠子在线观看| 久久亚洲国产视频| 欧美日韩国产在线播放| 色婷婷天天综合在线| 国产精品人成在线播放| 亚洲色图欧美| 精品乱码久久久久久久| 国产精品白浆无码流出在线看| 欧美自拍另类欧美综合图区| 中文字幕日韩欧美| 四虎AV麻豆| 亚洲自拍另类| 亚洲欧美成人网| 日韩毛片在线视频| 激情国产精品一区| 好吊妞欧美视频免费| 日韩av在线直播| 日韩123欧美字幕| 亚洲无码免费黄色网址| 成人毛片在线播放| 免费毛片视频| 日本五区在线不卡精品| 一级爆乳无码av| 午夜丁香婷婷| 久久99蜜桃精品久久久久小说| 免费观看亚洲人成网站| 91偷拍一区| 欧美不卡视频一区发布|