亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ASP.NET及Comet技術的WEB即時通信系統(tǒng)的設計與實現

        2010-03-27 06:55:54余勇
        電腦與電信 2010年9期
        關鍵詞:頁面系統(tǒng)

        余勇

        (河南經貿職業(yè)學院,河南鄭州450053)

        1.Comet技術的背景

        WEB應用程序工作的基礎協議——HTTP協議是一個無狀態(tài)、單向的協議,當客戶端向服務器發(fā)送一個請求時,服務器就會處理這個請求,并發(fā)送數據給該客戶端,從而完成對該請求的響應,緊接著服務器處理下一個請求,這個過程可以總結為“請求—應答模式”。由于是無狀態(tài)的,并且在“請求—應答模式”這種單向模式下工作,因此,HTTP協議能夠快速地為請求提供服務,每秒鐘可以處理大量的請求,只需使用少量的服務器就可以為大量用戶服務,因此,HTTP協議在當前的WEB開發(fā)中得到了廣泛的應用。但是,“請求—應答模式”也有其局限性,那就是請求必須由客戶端發(fā)出,而服務器則只能在對請求的響應中向客戶端發(fā)送數據。這個局限性會影響很多類型WEB應用程序的實用性,如:基于WEB的聊天程序、即時通信系統(tǒng)、股票實時行情系統(tǒng)等。而Comet技術則可以較好地解決這個問題。

        Comet技術被稱為服務器“推”技術,它可以將服務器端的數據主動“推”送到客戶端,當服務器端有新的數據時,Comet技術就可以將最新的信息“推”送到客戶端,從而使客戶端及時獲得最新數據。當前,Comet這種服務器“推”技術多數是基于AJAX技術的,并有多種實現形式,如:輪詢方式、長輪詢方式、基于Iframe的流(stream ing)方式、基于客戶端插件套接口的Comet技術等。

        2.Comet技術所依托的AJAX技術介紹

        Comet依托AJAX技術才得以更好地實現。AJAX的全稱是異步JavaScript和XML(Asynchronous javascript and xml),其基本功能就是實現WEB頁面與服務器端的無刷新交互。

        AJAX技術是JavaScript技術與XML技術的綜合應用,AJAX技術的基本原理就是通過建立XmlHttpRequest對象來向服務器發(fā)送異步請求,并從服務器獲得數據,然后用JavaScript來操作DOM對象來更新頁面,從而實現在不刷新頁面的情況下將WEB服務器上已經改變的內容顯示到WEB頁面上,從而增強用戶體驗。本系統(tǒng)正是利用AJAX技術的這一特點。

        3.Comet技術實現方式的選擇及WEB即時通信系統(tǒng)的設計

        Comet技術的主要實現形式有輪詢方式、長輪詢方式、基于Iframe的流(streaming)方式、基于客戶端插件套接口的Comet技術等,各種實現方式的特點如下:

        (1)輪詢方式,在這種方式下使用AJAX技術向服務器發(fā)出調用請求,返回后等待一段固定的時間,然后再次請求,這樣,服務器上的數據就會不斷被“請求”到客戶端,從而實現服務器數據即時更新到客戶端的目的。輪詢方式其實并不算真正意義上的實時,因為最新數據到達客戶端的時間還取決于所等待的一段固定時間的長短。如果將等待的固定時間變得接近于零,那么客戶端不斷的請求則會對服務器造成很大的壓力,這也是輪詢方式的缺點。

        (2)長輪詢方式,與輪詢方式類似,長輪詢方式將請求保持更長時間,直到服務器有新數據或者超時,服務器將數據發(fā)送到客戶端,并結束本次請求,從而開始下一次請求。長輪詢方式的缺點就是要將請求一直保持,這也會影響服務器所能服務的客戶端的數量。

        (3)基于Iframe的流(stream ing)方式,這種方式通過在頁面里嵌入一個Iframe隱蔵域,然后將這個隱蔵域的src屬性設為一個長連接的請求頁面,服務器端就能借助這個隱藏域不斷地向客戶端輸出數據,客戶端接收到數據后,通過JavaScript及AJAX技術將數據顯示到頁面上,從而實現服務器數據即時顯示到客戶端的目的?;贗frame的流(stream ing)方式與長輪詢方式類似,也需要將請求一直保持,同樣影響服務器所能服務的客戶端的數量。

        (4)基于客戶端插件套接口的Comet技術,如:Flash XMLSocket、Java小程序(Applet)等,這種方式需要客戶端安裝相應的插件,因此其局限性較強,只在一些特定系統(tǒng)及游戲中應用。

        通過比較Comet技術的這幾種實現形式,我認為長輪詢方式在實現基于WEB的即時通信系統(tǒng)時最為適合。我們可以將基于Comet技術的WEB即時通信系統(tǒng)分為兩個層次:業(yè)務邏輯層和表現層。業(yè)務邏輯層主要實現消息的封裝及消息的發(fā)送功能;表現層主要實現數據的顯示和數據的即時更新,以及提供用戶操作的界面和接口。系統(tǒng)結構如圖1所示。

        4.基于Comet技術的WEB即時通信系統(tǒng)的實現

        (1)業(yè)務邏輯層的實現

        在業(yè)務邏輯層,一是需要定義消息類,實現對消息要素進行封裝,從而便于發(fā)送該消息;二是消息發(fā)送類,可以實現將消息發(fā)送到連接服務器的所有需要接收消息的客戶端。消息類及消息發(fā)送類的核心代碼如下。

        a.定義消息類

        (2)表現層的實現

        在表現層,一是設計用戶操作界面,以提供用戶操作的接口,同時,還需借助JavaScript和AJAX將接收到的數據顯示出來;二是表現層需調用業(yè)務邏輯層的功能,實現消息的封裝以及消息的發(fā)送。用戶操作界面的HTML代碼及相應的JavaScript和AJAX代碼比較簡單,本文省略;調用入口類的核心代碼如下。

        5.結束語

        Comet技術在解決數據實時推送到客戶端方面有著獨特的優(yōu)勢,本文從Comet技術的基本原理入手,介紹了幾種實現Comet的主流方法,并以其中一種方式結合AJAX技術實現了基于ASP.NET的即時通信系統(tǒng)。

        由于服務器及客戶端技術的不斷發(fā)展,Comet的實現方法也會有更多更好的選擇,在Comet廣泛應用需求的基礎上,Comet的應用會和AJAX一樣變得更加普及。

        [1] 文愛平、文德民.基于IE瀏覽器的A jax Comet架構[J].電腦知識與技術,2010,6:4646-4648.

        [2] 錢宇虹.淺析Comet技術在Java Web實時系統(tǒng)開發(fā)中的應用[J].軟件工程師,2010,4:45-47.

        [3] 景慎艷.基于Pushlet的服務器推技術的研究與應用[J].現代計算機(專業(yè)版),2009,10:132-134.

        [4] 孫清國、朱瑋、劉華軍、張鵬.Web應用中的服務器推送技術研究綜述[J].計算機系統(tǒng)應用,2008,11:116-120.

        猜你喜歡
        頁面系統(tǒng)
        微信群聊總是找不到,打開這個開關就好了
        大狗熊在睡覺
        Smartflower POP 一體式光伏系統(tǒng)
        刷新生活的頁面
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        同一Word文檔 縱橫頁面并存
        国产三级黄色片子看曰逼大片| 欧美性猛交xxxx富婆| 理论片87福利理论电影| 美女污污网站| 极品熟妇大蝴蝶20p| 伊人狠狠色j香婷婷综合| 蜜桃视频一区视频二区| 日本韩国男男作爱gaywww| 另类内射国产在线| 亚洲色偷拍一区二区三区| 一区二区三区免费自拍偷拍视频| 国产av熟女一区二区三区密桃| 成人麻豆日韩在无码视频| 黑人玩弄漂亮少妇高潮大叫| 亚洲不卡电影| 在线不卡精品免费视频| 国产精品天干天干综合网| 久久精品中文字幕一区| 亚洲AV日韩Av无码久久| 久久亚洲乱码中文字幕熟女| 免费无码av一区二区三区| 乱子真实露脸刺激对白| 久久视频在线视频精品| 我要看免费久久99片黄色| 帮老师解开蕾丝奶罩吸乳视频| 久久精品国产99精品国偷| 夜色视频在线观看麻豆| 欧美a级在线现免费观看| 精品福利视频一区二区三区| 中国产无码一区二区三区| 中文字幕精品亚洲字幕| 亚洲av无码专区在线| 国产精品久久久久电影网| 超碰性爱| av网站在线观看大全| 国产无人区码一码二码三mba| 久久国产成人亚洲精品影院老金| 国产一区二区三区在线av| 国产激情无码一区二区| AV无码最在线播放| 伊人久久大香线蕉在观看|