欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Java實(shí)現(xiàn)web服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法

文檔序號:7592322閱讀:670來源:國知局
專利名稱:Java實(shí)現(xiàn)web服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種JAVA實(shí)現(xiàn)WEB SERVER主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法。
背景技術(shù)
瀏覽器和WEB SERVER是通過HTTP協(xié)議(Hypertext TransferProtocol,超文本傳輸協(xié)議)通信,HTTP的通信原理決定了,只能是瀏覽器向WEB Server發(fā)起請求,建立HTTP連接,WEB Server進(jìn)行應(yīng)答,一次通信會話結(jié)束,HTTP技術(shù)本身無法實(shí)現(xiàn)WEB SERVER主動的向?yàn)g覽器發(fā)送數(shù)據(jù),因?yàn)闆]有瀏覽器的首先請求連接,瀏覽器、WEB SERVER二者之間不存在通信連接。
在很多場合需要實(shí)現(xiàn)WEB SERVER主動地、實(shí)時地向?yàn)g覽器發(fā)送數(shù)據(jù),比如通信設(shè)備的告警數(shù)據(jù)發(fā)給瀏覽器客戶端顯示、連續(xù)采集數(shù)據(jù)的發(fā)給瀏覽器客戶端顯示,否則維護(hù)人員需要不停地手工刷新瀏覽器界面來從WEB SERVER獲取最新的數(shù)據(jù),或者瀏覽器定時向WEB SERVER發(fā)送請求,從WEB SERVER獲得最新數(shù)據(jù)、刷新瀏覽器顯示的數(shù)據(jù),但也無法做到WEB SERVER主動地向?yàn)g覽器發(fā)送數(shù)據(jù),通信效率低。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,實(shí)現(xiàn)WEB SERVER主動地向?yàn)g覽器發(fā)送數(shù)據(jù)。
為實(shí)現(xiàn)本發(fā)明要解決的技術(shù)問題,提出一種JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,其特征在于它包括下列步驟a.JAVA客戶端向JAVA服務(wù)器端發(fā)送請求建立通信連接;b.JAVA服務(wù)器端收到JAVA客戶端請求,生成對應(yīng)的處理線程,JAVA服務(wù)器端在該處理線程中生成對應(yīng)該通信連接的輸出流,JAVA客戶端在該通信連接上生成輸入流;
c.JAVA服務(wù)器端在該處理線程收到需要發(fā)給瀏覽器的數(shù)據(jù)后,向輸出流寫數(shù)據(jù),并發(fā)送;e.JAVA客戶端從輸入流讀取數(shù)據(jù);f.JAVA客戶端處理讀取的數(shù)據(jù)。
在上述步驟f.中,在JAVA客戶端處理讀取的數(shù)據(jù)后可顯示在應(yīng)用界面上。當(dāng)JAVA客戶端需要停止接受數(shù)據(jù)時,關(guān)閉瀏覽器。
根據(jù)客戶端瀏覽器接收數(shù)據(jù)的需要,可在步驟c.和步驟f.之間循環(huán)執(zhí)行,WEB Server上的JAVA服務(wù)器端(Servlet)把最新數(shù)據(jù)主動下發(fā)給客戶端的JAVA客戶端(Applet),直到客戶端不需要接收數(shù)據(jù)為止而關(guān)閉瀏覽器。
本發(fā)明方法使用JAVA的Applet(JAVA客戶端小程序)技術(shù)、Servlet(JAVA服務(wù)器端小程序)技術(shù)、HTTP(Hypertext TransferProtocol,超文本傳輸協(xié)議)長連接通信機(jī)制,突破了一般B/S(Browser/Server,瀏覽器/服務(wù)器)架構(gòu)的瓶頸——只能夠由瀏覽器發(fā)起請求、服務(wù)器被動響應(yīng)的局限,成功實(shí)現(xiàn)了WEB服務(wù)器主動的向?yàn)g覽器發(fā)送數(shù)據(jù),實(shí)際運(yùn)行效果良好。


圖1是本發(fā)明的整體流程圖。
圖2是Applet的流程圖。
圖3是Servlet的流程圖。
具體實(shí)施例方式
本發(fā)明的JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法整體流程如圖1所示,包括下列步驟1)Applet(JAVA客戶端小程序)向Servlet(JAVA服務(wù)器端小程序)發(fā)送請求建立通信連接,通信連接可以是HTTP連接、URL(UniformResource Locator統(tǒng)一資源定位器)連接;2)該Servlet收到Applet請求,生成對應(yīng)的處理線程;Servlet在該處理線程中生成對應(yīng)該通信連接的輸出流;Applet在該通信連接上生成輸入流;
3)Servlet在該處理線程收到需要發(fā)給瀏覽器的數(shù)據(jù)后,向輸出流寫數(shù)據(jù),并發(fā)送;4)Applet從輸入流讀取數(shù)據(jù);5)Applet處理讀取的數(shù)據(jù)后顯示在應(yīng)用界面上;6)當(dāng)需要停止接受數(shù)據(jù)時,操作者在客戶端關(guān)閉瀏覽器。
根據(jù)客戶端瀏覽器接收數(shù)據(jù)的需要,可以在步驟3)和步驟5)之間一直循環(huán)長期地執(zhí)行,WEB Server上的Servlet不停地把最新數(shù)據(jù)主動下發(fā)給客戶端的Applet,直到客戶端不需要接收數(shù)據(jù)為止而關(guān)閉了瀏覽器。
也就是說,只有在第一次啟動瀏覽器時Applet主動和WEB Server的Servlet建立了一個通信連接,并且一直保持這個通信連接用于WEBServer向?yàn)g覽器發(fā)送后續(xù)的數(shù)據(jù),以后的長期運(yùn)行,都是使用最初建立的這個通信連接來發(fā)送數(shù)據(jù);這就改變了HTTP協(xié)議應(yīng)用的最傳統(tǒng)的方法每次通信開始時是瀏覽器主動發(fā)請求,建立通信連接,WEB Server收到請求后被動的回一個應(yīng)答,然后釋放該通信連接,一次通信結(jié)束。
本發(fā)明方法的具體實(shí)現(xiàn)可以劃分成Servlet和Applet兩個部分,如圖2所示,Applet部分主要描述1)Applet與Servlet建立通信連接。
2)Applet在該通信連接上生成輸入流。
3)Applet從輸入流讀取數(shù)據(jù)。
4)Applet處理數(shù)據(jù),并顯示。
5)Applet收到瀏覽器關(guān)閉通知。
6)Applet關(guān)閉該通信連接。
7)Applet退出。
長時間運(yùn)行時,從3)到4)循環(huán)運(yùn)行,Applet被動接收Servlet下發(fā)的數(shù)據(jù)。
如圖3所示,Servlet部分主要描述1)Servlet容器收到Applet請求,生成對應(yīng)Servlet的處理線程。
2)Servlet在該處理線程中生成對應(yīng)通信連接的輸出流。
3)Servlet在該處理線程有數(shù)據(jù)要發(fā)。
4)Servlet在該處理線程向輸出流寫數(shù)據(jù)。
5)該處理線程收到Applet關(guān)閉通信連接消息6)該處理線程close輸出流。
7)Servlet的處理線程結(jié)束運(yùn)行。
長時間運(yùn)行時,從3)到4)循環(huán)運(yùn)行,Servlet主動向Applet下發(fā)數(shù)據(jù),直到該處理線程收到Applet關(guān)閉通信連接消息,才釋放資源、結(jié)束運(yùn)行。
下面以實(shí)現(xiàn)通訊網(wǎng)絡(luò)巡檢系統(tǒng)為具體實(shí)施案例對本發(fā)明作詳細(xì)說明。
巡檢系統(tǒng)由WEB Server和瀏覽器客戶端組成,目的是檢查通信設(shè)備、第一時間把設(shè)備運(yùn)行信息發(fā)給維護(hù)人員使用的客戶端,提醒維護(hù)人員立即關(guān)注系統(tǒng)產(chǎn)生的異常信息并立即處理。WEB SERVER負(fù)責(zé)收集通信系統(tǒng)各個網(wǎng)元產(chǎn)生的設(shè)備運(yùn)行信息,WEB SERVER從網(wǎng)元收到設(shè)備運(yùn)行信息后在第一時間實(shí)時的、主動的下發(fā)給瀏覽器客戶端,這樣維護(hù)人員可以立即看到設(shè)備運(yùn)行信息,及時發(fā)現(xiàn)異常情況并做出相應(yīng)的處理。
巡檢系統(tǒng)WEB SERVER中有一個Servlet,在該Servlet的init方法執(zhí)行時啟動一個數(shù)據(jù)接收線程專門負(fù)責(zé)接收網(wǎng)元上報的設(shè)備運(yùn)行重要指標(biāo)數(shù)據(jù);使用人員在客戶端啟動瀏覽器后,Applet執(zhí)行并向WEB SERVER中的該Servlet發(fā)出請求建立通信連接,Applet生成輸入流,Servlet容器收到客戶端的Applet的請求后生成該Servlet的一個處理線程,處理線程生成輸出流,負(fù)責(zé)把數(shù)據(jù)接收線程收到的數(shù)據(jù)下發(fā)給客戶端的Applet從而在瀏覽器上顯示。
當(dāng)有多個使用人員在多個客戶端打開瀏覽器、執(zhí)行Applet、向該Servlet發(fā)出請求建立通信連接時,Servlet容器會對應(yīng)各個請求生成該Servlet的多個處理線程,每個處理線程負(fù)責(zé)處理一個Applet的請求,當(dāng)接收數(shù)據(jù)線程收到設(shè)備運(yùn)行重要指標(biāo)數(shù)據(jù)時,立即通知該Servlet所有的處理線程取數(shù)據(jù),各個處理線程取到告警數(shù)據(jù)后通過通信連接的輸出流向?qū)?yīng)的Applet發(fā)送數(shù)據(jù);各個客戶端的Applet從輸入流中讀取設(shè)備運(yùn)行重要指標(biāo)數(shù)據(jù),處理后顯示在瀏覽器界面上。
當(dāng)使用人員一直使用瀏覽器觀察接收到的設(shè)備運(yùn)行重要指標(biāo)數(shù)據(jù)時,Servlet的接收數(shù)據(jù)線程不斷的從網(wǎng)元接收設(shè)備運(yùn)行重要指標(biāo)數(shù)據(jù)、通知處理線程取數(shù)據(jù),處理線程取到數(shù)據(jù)后通過和Applet的通信連接的輸出流發(fā)送數(shù)據(jù),瀏覽器的Applet就源源不斷地一直收到WEB Server上的Servlet下發(fā)的設(shè)備運(yùn)行重要指標(biāo)數(shù)據(jù)了。
當(dāng)客戶端關(guān)閉瀏覽器時,Applet收到消息關(guān)閉輸入流、通信連接、退出運(yùn)行;而Servlet處理線程收到Applet關(guān)閉通信連接消息后也關(guān)閉輸出流、退出運(yùn)行。
盡管參照實(shí)施案例對所公開的涉及JAVA實(shí)現(xiàn)WEB SERVER主動發(fā)起的向?yàn)g覽器發(fā)送數(shù)據(jù)的方法進(jìn)行了特別描述,本領(lǐng)域技術(shù)人員將能理解,在不偏離本發(fā)明的范圍和精神的情況下,可以對它進(jìn)行形式和細(xì)節(jié)的種種顯而易見的修改,如Applet和Servlet之間具體使用的通信連接可以是URL連接、HTTP連接、或者其它通信方式,SERVER端接收數(shù)據(jù)、發(fā)送數(shù)據(jù)不一定采用多線程方式,發(fā)送的數(shù)據(jù)可以各個業(yè)務(wù)領(lǐng)域的、各種格式的。因此,以上描述的實(shí)施案例是說明性的而不是限制性的,在不脫離本發(fā)明的精神和范圍的情況下,所有的變化和修改都在本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一種JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,其特征在于它包括下列步驟a.JAVA客戶端向JAVA服務(wù)器端發(fā)送請求建立通信連接;b.JAVA服務(wù)器端收到JAVA客戶端請求,生成對應(yīng)的處理線程,JAVA服務(wù)器端在該處理線程中生成對應(yīng)該通信連接的輸出流,JAVA客戶端在該通信連接上生成輸入流;c.JAVA服務(wù)器端在該處理線程收到需要發(fā)給瀏覽器的數(shù)據(jù)后,向輸出流寫數(shù)據(jù),并發(fā)送;e.JAVA客戶端從輸入流讀取數(shù)據(jù);f.JAVA客戶端處理讀取的數(shù)據(jù)。
2.按權(quán)利要求1所述的JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,其特征在于進(jìn)一步包括步驟g當(dāng)JAVA客戶端需要停止接收數(shù)據(jù)時,關(guān)閉瀏覽器。
3.按權(quán)利要求1所述的JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,其特征在于在步驟f.中,JAVA客戶端處理讀取的數(shù)據(jù)后顯示在應(yīng)用界面上。
4.按權(quán)利要求1所述的JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,其特征在于根據(jù)客戶端瀏覽器接收數(shù)據(jù)的需要,步驟c.和步驟f.之間可循環(huán)執(zhí)行,WEB Server上的JAVA服務(wù)器端把最新數(shù)據(jù)主動下發(fā)給客戶端的JAVA客戶端,直到客戶端不需要接收數(shù)據(jù)為止而關(guān)閉瀏覽器。
5.按權(quán)利要求1所述的JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,其特征在于所述通信連接或是采用超文本傳輸協(xié)議連接,或是采用統(tǒng)一資源定位器連接。
6.按權(quán)利要求1所述的JAVA實(shí)現(xiàn)WEB服務(wù)器主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,其特征在于當(dāng)在多個客戶端打開瀏覽器、執(zhí)行JAVA客戶端、向該JAVA服務(wù)器端發(fā)出請求建立通信連接時,JAVA服務(wù)器端容器會對應(yīng)各個請求生成該JAVA服務(wù)器端的多個處理線程,每個處理線程負(fù)責(zé)處理一個JAVA客戶端的請求,當(dāng)接收數(shù)據(jù)線程收到運(yùn)行指標(biāo)數(shù)據(jù)時,立即通知該JAVA服務(wù)器端所有的處理線程取數(shù)據(jù),各個處理線程取到告警數(shù)據(jù)后通過通信連接的輸出流向?qū)?yīng)的JAVA客戶端發(fā)送數(shù)據(jù);各個客戶端從輸入流中讀取運(yùn)行指標(biāo)數(shù)據(jù),處理后顯示在瀏覽器界面上。
全文摘要
本發(fā)明公開了一種JAVA實(shí)現(xiàn)WEB SERVER主動發(fā)起向?yàn)g覽器發(fā)送數(shù)據(jù)的方法,它包括下列步驟Applet向Servlet發(fā)送請求建立通信連接;該Servlet收到Applet請求,生成對應(yīng)的該處理線程,Servlet在該處理線程中生成對應(yīng)該通信連接的輸出流,Applet在該通信連接上生成輸入流;Servlet收到需要發(fā)給瀏覽器的數(shù)據(jù)后,向輸出流寫數(shù)據(jù),并發(fā)送;Applet從輸入流讀取數(shù)據(jù);Applet處理讀取的數(shù)據(jù)后顯示在界面上;當(dāng)需要停止接受數(shù)據(jù)時,操作者在客戶端關(guān)閉瀏覽器。本發(fā)明方法通過使用Java的Applet技術(shù)、Servlet技術(shù)、HTTP長連接通信機(jī)制,最終突破了一般B/S架構(gòu)的瓶頸——只能夠由瀏覽器發(fā)起請求、服務(wù)器被動響應(yīng)的局限,成功實(shí)現(xiàn)了WEB服務(wù)器主動地向?yàn)g覽器發(fā)送數(shù)據(jù),實(shí)際運(yùn)行效果良好。
文檔編號H04L12/00GK1735015SQ200410041590
公開日2006年2月15日 申請日期2004年8月3日 優(yōu)先權(quán)日2004年8月3日
發(fā)明者丁巖, 楊淑艷, 劉長青, 符濤, 王煒 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
长白| 科尔| 延寿县| 昂仁县| 周至县| 闽侯县| 绍兴县| 广灵县| 荔浦县| 卓资县| 岱山县| 巴林右旗| 高州市| 吴忠市| 靖州| 洛浦县| 康马县| 丰城市| 同江市| 塘沽区| 蓬溪县| 宝山区| 宽甸| 涿鹿县| 揭西县| 玉溪市| 城步| 得荣县| 广东省| 浏阳市| 上杭县| 镇巴县| 慈利县| 通化县| 玉门市| 商水县| 威远县| 洞头县| 封开县| 怀化市| 泸水县|