国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      頁(yè)面數(shù)據(jù)加載方法和系統(tǒng)的制作方法_2

      文檔序號(hào):9911055閱讀:來(lái)源:國(guó)知局
      vaScript是一種腳本語(yǔ)言。類庫(kù)是指類的集合,包括接口、抽象類和具體類。本實(shí)施例中,可以采用常見的JavaScript類庫(kù),如jQuery、prototype等。也可以將JavaScript文件通過(guò)JavaScript閉包封裝機(jī)制封裝成JavaScript類,然后將JavaScript類封裝成JavaScript類庫(kù)??蛻舳司哂幸粋€(gè)開放類,可以是采用Java語(yǔ)言描述的Java類。通過(guò)該開放類,可以調(diào)用頁(yè)面封裝的JavaScript類庫(kù)。
      [0039]步驟208,通過(guò)JavaScript類庫(kù)調(diào)用客戶端的開放接口。
      [0040]客戶端具有不同類型的開放接口,可以是1s、android或winphone等操作系統(tǒng)中的不同類型的多種開放接口。根據(jù)數(shù)據(jù)請(qǐng)求JavaScript類庫(kù)發(fā)出調(diào)用對(duì)應(yīng)的客戶端的開放接口的信號(hào),視圖窗口監(jiān)聽到該信號(hào)之后,客戶端的開放類就通過(guò)該信號(hào)調(diào)用與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的客戶端的開放接口。
      [0041]步驟210,通過(guò)客戶端的開放接口調(diào)用數(shù)據(jù)請(qǐng)求,并通過(guò)客戶端與服務(wù)器之間建立起的TCP長(zhǎng)連接發(fā)送數(shù)據(jù)請(qǐng)求。
      [0042]長(zhǎng)連接是指在TCP通訊中客戶端與服務(wù)器直接一直保持連接,不管當(dāng)前是否發(fā)送或者接收數(shù)據(jù)。如果在發(fā)送數(shù)據(jù)請(qǐng)求時(shí)客戶端與服務(wù)器之間尚未建立長(zhǎng)連接,則首先建立長(zhǎng)連接,然后發(fā)送數(shù)據(jù)請(qǐng)求,如果長(zhǎng)連接已經(jīng)建立好,則可以直接通過(guò)該長(zhǎng)連接發(fā)送數(shù)據(jù)請(qǐng)求。
      [0043]在客戶端的開放類接收到調(diào)用與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的客戶端的開放接口的信號(hào)之后,調(diào)用客戶端的一個(gè)封裝的TCP調(diào)用類,該TCP調(diào)用類可以調(diào)用多種TCP連接方法。將該TCP調(diào)用類和數(shù)據(jù)請(qǐng)求組成數(shù)據(jù)包,通過(guò)TCP長(zhǎng)連接發(fā)送至服務(wù)器。
      [0044]步驟212,接收服務(wù)器通過(guò)TCP長(zhǎng)連接返回的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      [0045]服務(wù)器接收到包含數(shù)據(jù)請(qǐng)求的數(shù)據(jù)包之后,將該數(shù)據(jù)包發(fā)送至掛載在服務(wù)器下面的PHP應(yīng)用程序,如php-cgi,進(jìn)行對(duì)應(yīng)的處理,PHP應(yīng)用程序處理完畢后,將與該數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)傳送至服務(wù)器??蛻舳送ㄟ^(guò)TCP長(zhǎng)連接接收服務(wù)器返回的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。如果服務(wù)器未能獲取到與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),則客戶端接收服務(wù)器返回的數(shù)據(jù)請(qǐng)求失敗的信息。
      [0046]步驟214,將接收到的數(shù)據(jù)加載至頁(yè)面。
      [0047]將接收到的數(shù)據(jù)進(jìn)行渲染后加載至頁(yè)面,在頁(yè)面上顯示與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的內(nèi)容。如果未能接收到與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的內(nèi)容,則在頁(yè)面中加載數(shù)據(jù)請(qǐng)求失敗的信息。
      [0048]本實(shí)施例中,通過(guò)客戶端的視圖窗口載入頁(yè)面,在頁(yè)面中發(fā)送數(shù)據(jù)請(qǐng)求后,調(diào)用頁(yè)面封裝的JavaScript類庫(kù),JavaScript類庫(kù)調(diào)用客戶端的開放接口,使得客戶端開放接口調(diào)用該數(shù)據(jù)請(qǐng)求通過(guò)客戶端與服務(wù)器之間的TCP長(zhǎng)連接請(qǐng)求數(shù)據(jù),并接收服務(wù)器通過(guò)該TCP長(zhǎng)連接返回的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。由于在頁(yè)面發(fā)送的數(shù)據(jù)請(qǐng)求為TCP請(qǐng)求,克服了由于HTTP請(qǐng)求耗費(fèi)資源的問題,同時(shí)客戶端通過(guò)與服務(wù)器之間的TCP長(zhǎng)連接發(fā)送該數(shù)據(jù)請(qǐng)求并接收與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),減少了在發(fā)送HTTP請(qǐng)求前進(jìn)行的三次TCP握手,提高了數(shù)據(jù)傳輸速率,因此有效提高了頁(yè)面數(shù)據(jù)加載速度。
      [0049]在一個(gè)實(shí)施例中,將接收到的數(shù)據(jù)加載至頁(yè)面的步驟包括:通過(guò)客戶端的開放接口將接收到的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)返回至頁(yè)面的JavaScript類庫(kù)的開放接口 ;通過(guò)JavaScript類庫(kù)的開放接口接收與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù);通過(guò)JavaScript類庫(kù)對(duì)接收到的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)進(jìn)行渲染,并在頁(yè)面中進(jìn)行展示。
      [0050]本實(shí)施例中,JavaScript類庫(kù)的開放接口包括數(shù)據(jù)傳送接口和數(shù)據(jù)渲染接口??蛻舳说拈_放接口將接收到的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)返回至頁(yè)面的JavaScript類庫(kù)的數(shù)據(jù)傳送接口,通過(guò)該數(shù)據(jù)傳送接口 JavaScript類庫(kù)接收與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),并通過(guò)數(shù)據(jù)渲染接口將接收到的數(shù)據(jù)進(jìn)行渲染,渲染之后在頁(yè)面中進(jìn)行展示。
      [0051]在一個(gè)實(shí)施例中,創(chuàng)建視圖窗口,在視圖窗口中載入頁(yè)面的步驟之前,還包括:開啟預(yù)設(shè)的數(shù)據(jù)出入接口,數(shù)據(jù)出入接口用于發(fā)送數(shù)據(jù)請(qǐng)求至服務(wù)器和用于接收從服務(wù)器返回的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      [0052]本實(shí)施例中,預(yù)設(shè)的數(shù)據(jù)出入接口,可以是預(yù)先設(shè)置的可以提供Socket代理服務(wù)的代理服務(wù)器,比如類似于Nginx的代理服務(wù)器,該代理服務(wù)器的代碼可以采用C語(yǔ)言進(jìn)行描述??蛻舳伺c該代理服務(wù)器建立TCP長(zhǎng)連接,通過(guò)該代理服務(wù)器,客戶端發(fā)送數(shù)據(jù)請(qǐng)求至服務(wù)器,以及接收從服務(wù)器返回的與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。由于通過(guò)客戶端通過(guò)該預(yù)設(shè)的數(shù)據(jù)出入接口發(fā)送數(shù)據(jù)請(qǐng)求并接收與數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),由此保證了客戶端接收的數(shù)據(jù)的安全性。
      [0053]在一個(gè)實(shí)施例中,如圖3所示,創(chuàng)建視圖窗口,在視圖窗口中載入頁(yè)面的步驟之后,還包括:
      [0054]步驟302,在頁(yè)面生成資源請(qǐng)求,資源請(qǐng)求為HTTP請(qǐng)求。
      [0055]步驟304,攔截資源請(qǐng)求。
      [0056]步驟306,查詢本地是否存儲(chǔ)有與資源請(qǐng)求對(duì)應(yīng)的資源;若有,則進(jìn)入步驟308,否貝Ij,進(jìn)入步驟310。
      [0057]步驟308,將與資源請(qǐng)求對(duì)應(yīng)的資源加載至頁(yè)面。
      [0058]步驟310,向服務(wù)器發(fā)送資源請(qǐng)求。
      [0059]本實(shí)施例中,資源的類型可以是圖片、音頻、視頻、文字以及其他可以在頁(yè)面中展示的內(nèi)容。在視圖窗口載入頁(yè)面之后,可以在頁(yè)面生成資源請(qǐng)求。由于資源文件的請(qǐng)求目前無(wú)法使用TCP請(qǐng)求,因此該資源請(qǐng)求為HTTP請(qǐng)求。資源請(qǐng)求生成后,攔截該資源請(qǐng)求,攔截的方式可以采用HTTP請(qǐng)求攔截工具,如Fiddler (HTTP協(xié)議調(diào)試代理工具)、Http RequestInterceptor (HTTP請(qǐng)求攔截器)等;也可采用代理攔截技術(shù),也就是可以通過(guò)上述實(shí)施例中提及的代理服務(wù)器進(jìn)行攔截。如果查詢到本地存儲(chǔ)有與資源請(qǐng)求對(duì)應(yīng)的資源,則直接將對(duì)應(yīng)的資源加載至頁(yè)面;否則,客戶端向服務(wù)器發(fā)送資源請(qǐng)求。在一個(gè)優(yōu)選的實(shí)施例中,月艮務(wù)器可以是緩存服務(wù)器,如CND (Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))等。由于將資源請(qǐng)求攔截后將本地與資源請(qǐng)求對(duì)應(yīng)的資源直接加載至頁(yè)面,因此有效減少了 HTTP請(qǐng)求,提高了頁(yè)面資源加載速度。
      [0060]可以理解,數(shù)據(jù)請(qǐng)求與資源請(qǐng)求可以是并行的,兩者并不沖突。如果有數(shù)據(jù)請(qǐng)求則執(zhí)行數(shù)據(jù)請(qǐng)求的步驟,如果有資源請(qǐng)求則執(zhí)行資源請(qǐng)求的步驟。可以在資源加載的過(guò)程中發(fā)送數(shù)據(jù)請(qǐng)求,也可以在資源加載完畢后發(fā)送數(shù)據(jù)請(qǐng)求。
      [0061]在一個(gè)實(shí)施例中,向服務(wù)器發(fā)送資源請(qǐng)求的步驟之后,還包括:接收服務(wù)器返回的與資源請(qǐng)求對(duì)應(yīng)的資源;將接收到的與資源請(qǐng)求對(duì)應(yīng)的資源存儲(chǔ)在本地。
      [0062]本實(shí)施例中,將接收到的與資源請(qǐng)求對(duì)應(yīng)的資源存儲(chǔ)在本地。在頁(yè)面再次生成該資源請(qǐng)求時(shí),將資源請(qǐng)求進(jìn)行攔截,直接將存本地存儲(chǔ)的資源加載至頁(yè)面。由此進(jìn)一步減少了 HTTP請(qǐng)求,使得頁(yè)面資源加載速度得到進(jìn)一步提高。
      [0063]在一個(gè)實(shí)施例中,如圖4所示,提供了一種頁(yè)面數(shù)據(jù)加載系統(tǒng),該系統(tǒng)包括:頁(yè)面載入模塊402、數(shù)據(jù)請(qǐng)求生成模塊404、第一調(diào)用模塊406、第二調(diào)用模塊408、數(shù)據(jù)請(qǐng)求發(fā)送模塊410、第一數(shù)據(jù)接收模塊412和數(shù)據(jù)加載模塊414,其中:
      [0064]頁(yè)面載入模塊402,用于創(chuàng)建視圖窗口,在視圖窗口中載入頁(yè)面。
      [0065]數(shù)據(jù)請(qǐng)求生成模塊404,用于在頁(yè)面中生成數(shù)據(jù)請(qǐng)求,數(shù)據(jù)請(qǐng)求為TCP請(qǐng)求。
      [0066]第一調(diào)用模塊406,用于根據(jù)數(shù)據(jù)請(qǐng)求調(diào)用頁(yè)面封裝的JavaScript類庫(kù)。
      [0067]第二調(diào)用模塊408,用于通過(guò)JavaScript類庫(kù)調(diào)用客戶端的開放接口
      當(dāng)前第2頁(yè)1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1