国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
芋頭的故事 : Weblog

Glassfish與服務器推送技術

“服務器推送技術”(Server Pushing)是最近Web技術中最熱門的一個流行術語,它的別名叫“Comet”(彗星)。它是繼“Ajax”之后又一個倍受追捧的Web技術。“服務器推送技術”最近的流行跟“Ajax”有著密切的關系。

 

 

隨著Web技術的流行,越來越多的應用從原有的C/S的模式下轉變?yōu)?/span>B/S的模式,享受著Web技術所帶來的各種優(yōu)勢(例如,跨平臺,免客戶端維護,跨越防火墻,擴展性好等等)。但是基于瀏覽器的應用,也有它不足的地方。最主要的地方在于界面的友好性和交互性。由于游覽器中的頁面每次需要全部刷新才能從服務器端獲得最新的數據或向服務器傳送數據。這樣產生的延遲所帶來的視覺感觀非常糟糕。因此很多的桌面應用為了獲得更友好的界面放棄了Web技術,或者采用瀏覽器的插件技術(ActiveX, Applet, Flash等等)。但是瀏覽器插件技術本身又有許多問題,例如跨平臺問題,和插件版本兼容性問題。

 

 隨著Ajax技術的興起,讓廣大開發(fā)人員又一次看到了使用瀏覽器來替代桌面應用的機會,并且這次機會非常大。Ajax將整個頁面的刷新變成頁面局部的刷新,并且數據的傳送是以異步方式進行,這使得網絡延遲帶來的視覺差異將會消失。Ajax還利用DHTML和豐富的Javascript語言可以模擬桌面系統(tǒng)的各種事件產生和響應過程,以及平滑滾動和拖拽的效果。還不止這些,更有一些IT巨頭(Google,Sun,Oracle等)提供了非常豐富的Ajax開發(fā)工具,使得開發(fā)和調試Ajax應用變得簡單高效,并且開發(fā)的Ajax應用還可以跨越各種瀏覽器和操作系統(tǒng)。在這種情況下基于AjaxWeb應用迅速涌起,吞噬著原有桌面系統(tǒng)的份額。聊天工具,郵件閱讀器,博客編輯器,甚至是Office辦公軟件和文字處理軟件在瀏覽器中都有著美麗的外觀和幾乎可以與桌面系統(tǒng)媲美的交互界面。Google更是提出“有了瀏覽器和Google,就不需要微軟”的口號和策略。在Ajax的世界中,除了傳統(tǒng)的CAD設計軟件和大型游戲軟件等等因為對系統(tǒng)硬件的苛刻需求,還離不開桌面系統(tǒng)以外,似乎其他所有的應用都可以變成Web應用了。

 

 但是,在瀏覽器中的Ajax應用中存在一個致命的缺陷無法滿足傳統(tǒng)桌面系統(tǒng)的需求。那就是“服務器發(fā)起的消息傳遞”(Server-Initiated Message Delivery)。在很多的應用當中,服務器軟件需要向客戶端主動發(fā)送消息或信息。因為服務器掌握著系統(tǒng)的主要資源,能夠最先獲得系統(tǒng)的狀態(tài)變化和事件的發(fā)生。當這些變化發(fā)生的時候,服務器需要主動的向客戶端實時的發(fā)送消息。例如股票的變化。在傳統(tǒng)的桌面系統(tǒng)這種需求沒有任何問題,因為客戶端和服務器之間通常存在著持久的連接,這個連接可以雙向傳遞各種數據。而基于HTTP協議的Web應用卻不行。上節(jié)中也提到過,在Web世界中,服務器永遠是被動的發(fā)送數據,前提是客戶端必須先發(fā)送請求。瀏覽器其實并不知道服務器的信息什么時候會有改變,為了模擬實時的交流,或者不想錯過某些信息,只能通過“Polling”的技術不斷刷新頁面來獲得最新的數據。這種方式不但浪費服務器的資源(前文提過),最重要的是每次建立(或關閉)新的HTTP連接需要一定的延遲,這種延遲使得頻繁信息傳遞的應用無法忍受。于是就產生的“服務器推送技術”。

 

 

“服務器推送技術”在很久以前就出現過。例如Netscape曾經退出適用于Push技術的專用瀏覽器和經過修改的HTML語言。但是這僅僅在特定的瀏覽器中才能使用,其他流行的瀏覽器(IE等)就不兼容這種技術。

 

  現在的“服務器推送技術”是在保持原有的HTTP協議不變,在服務器端改變處理方式,使得服務器能夠使用瀏覽器已經打開的HTTP連接,主動向瀏覽器發(fā)送消息。這里關鍵的技術是要保持原有的HTTP連接不斷。一旦擁有持久的連接,服務器就可以根據自己數據更新,隨時的向客戶端發(fā)送最新的信息。

 

 在Glassfish中,Grizzly通過NIO的技術實現了異步請求服務(ARP),并在ARP之上擴展了服務器推送技術的實現,將其也命名為“Comet”。因為使用了NIO,Grizzly才可以在保持HTTP連接的同時,并不會綁定固定的線程,使得Glassfish具有很好的擴展性,可以很好的同時支持大量的Comet請求。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
“微軟已死”
Ajax,未來的WebServices?
服務器推送技術 - ServerPush
BlogJava - fanscial-AJAX簡介
Ajax讓網絡更順滑 威脅微軟地位
Web端即時通訊技術盤點:短輪詢、Comet、Websocket、SSE
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服