国产精品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>

      一種移動APP與Web頁面通訊方法及系統(tǒng)與流程

      文檔序號:11206535閱讀:1285來源:國知局
      一種移動APP與Web頁面通訊方法及系統(tǒng)與流程

      本發(fā)明屬于移動app的技術(shù)領(lǐng)域,具體地涉及一種移動app與web頁面通訊方法及系統(tǒng)。



      背景技術(shù):

      由于移動app(即移動終端上的應(yīng)用軟件)是要區(qū)分android、ios等設(shè)備的,因此安全限制與通訊方法標(biāo)準(zhǔn)均不一致,這就使得app與web頁面的交互過程非常繁瑣。

      目前,app和web的原生api(applicationprogramminginterface,應(yīng)用程序編程接口)只提供單工調(diào)用方法,即“app調(diào)用web”或“web調(diào)用app”,而且因為這種調(diào)用是同步調(diào)用,會阻塞線程,影響性能。為了支持復(fù)雜業(yè)務(wù)場景及高性能要求,亟需實現(xiàn)“app與web的全雙工異步通訊”。



      技術(shù)實現(xiàn)要素:

      本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供一種移動app與web頁面通訊方法,其實現(xiàn)了移動app與web頁面的全雙工異步通訊,避免了阻塞線程,不會影響移動設(shè)備的性能。

      本發(fā)明的技術(shù)解決方案是:這種移動app與web頁面通訊方法,包括以下步驟:

      (1)包裝原生api,使其實現(xiàn)半雙工調(diào)用;

      (2)拒絕回調(diào),取消同步阻塞;

      (3)自定義通訊流水號;

      (4)收到異步返回結(jié)果時,根據(jù)指令類型分別處理;

      (5)如果有匹配的流水號,則確定這個消息是app曾經(jīng)發(fā)送的某個指令的異步返回的結(jié)果,跳轉(zhuǎn)到步驟(4)。

      本發(fā)明通過包裝原生api,使其實現(xiàn)半雙工調(diào)用,拒絕回調(diào),取消同步阻塞,自定義通訊流水號,收到異步返回結(jié)果時,根據(jù)指令類型分別處理,如果有匹配的流水號,則確定這個消息是app曾經(jīng)發(fā)送的某個指令的異步返回的結(jié)果而進(jìn)行處理,從而實現(xiàn)了移動app與web頁面的全雙工異步通訊,避免了阻塞線程,不會影響移動設(shè)備的性能。

      還提供了采用這種方法的系統(tǒng),其包括:

      包裝模塊,其配置來包裝原生api,使其實現(xiàn)半雙工調(diào)用;

      設(shè)置取消模塊,其配置來拒絕回調(diào),取消同步阻塞;

      定義流水號模塊,其配置來自定義通訊流水號;

      處理模塊,其配置來收到異步返回結(jié)果時,根據(jù)指令類型分別處理;

      并且如果有匹配的流水號,則確定這個消息是app曾經(jīng)發(fā)送的某個指令的異步返回的結(jié)果,根據(jù)指令類型分別處理。

      附圖說明

      圖1示出了根據(jù)本發(fā)明的移動app與web頁面通訊方法的流程圖。

      具體實施方式

      如圖1所示,這種移動app與web頁面通訊方法,包括以下步驟:

      (1)包裝原生api,使其實現(xiàn)半雙工調(diào)用;

      (2)拒絕回調(diào),取消同步阻塞;

      (3)自定義通訊流水號;

      (4)收到異步返回結(jié)果時,根據(jù)指令類型分別處理;

      (5)如果有匹配的流水號,則確定這個消息是app曾經(jīng)發(fā)送的某個指令的異步返回的結(jié)果,跳轉(zhuǎn)到步驟(4)。

      本發(fā)明通過包裝原生api,使其實現(xiàn)半雙工調(diào)用,拒絕回調(diào),取消同步阻塞,自定義通訊流水號,收到異步返回結(jié)果時,根據(jù)指令類型分別處理,如果有匹配的流水號,則確定這個消息是app曾經(jīng)發(fā)送的某個指令的異步返回的結(jié)果而進(jìn)行處理,從而實現(xiàn)了移動app與web頁面的全雙工異步通訊,避免了阻塞線程,不會影響移動設(shè)備的性能。

      另外,該方法包括移動app端處理方法和web頁面端處理方法。

      另外,所述移動app端處理方法包括向web發(fā)消息和接收來自web的消息;

      向web發(fā)消息包括以下步驟:

      (a1)將消息對象轉(zhuǎn)為消息字符串;

      (a2)為消息分配通訊流水號;

      (a3)獲取app內(nèi)嵌的web瀏覽器句柄;

      (a4)通過web瀏覽器句柄獲取通訊api;

      (a5)將通訊流水號、消息字符串傳給web頁面;

      接收來自web的消息包括以下步驟:

      (b1)注冊接收web消息的方法;

      (b2)接收來自web的消息字符串;

      (b3)將消息字符串解析成json對象;

      (b4)分發(fā)并處理消息;

      (b5)如果找到了匹配的消息流水號,則將此消息當(dāng)作異步處理返回

      結(jié)果來處理。

      另外,所述web頁面端處理方法包括接收來自app的消息和向app發(fā)消息;

      接收來自app的消息包括以下步驟:

      (c1)根據(jù)約定創(chuàng)建方法接收來自app的消息;

      (c2)接收消息字符串;

      (c3)記錄消息流水號;

      (c4)將消息字符串解析成消息對象;

      (c5)分發(fā)并處理消息;

      向app發(fā)消息包括以下步驟:

      (d1)創(chuàng)建向app發(fā)送消息的方法;

      (d2)獲取消息對象;

      (d3)將消息對象序列化為消息字符串;

      (d4)發(fā)送消息字符串;

      (d5)如果有相關(guān)的消息流水號,將消息流水號協(xié)同消息字符串一起發(fā)送。

      本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括上述實施例方法的各步驟,而所述的存儲介質(zhì)可以是:rom/ram、磁碟、光盤、存儲卡等。因此,與本發(fā)明的方法相對應(yīng)的,本發(fā)明還同時包括一種移動app與web頁面通訊系統(tǒng),該系統(tǒng)通常以與方法各步驟相對應(yīng)的功能模塊的形式表示。使用該方法的系統(tǒng),其包括:

      包裝模塊,其配置來包裝原生api,使其實現(xiàn)半雙工調(diào)用;

      設(shè)置取消模塊,其配置來拒絕回調(diào),取消同步阻塞;

      定義流水號模塊,其配置來自定義通訊流水號;

      處理模塊,其配置來收到異步返回結(jié)果時,根據(jù)指令類型分別處理;并且如果有匹配的流水號,則確定這個消息是app曾經(jīng)發(fā)送的某個指令的異步返回的結(jié)果,根據(jù)指令類型分別處理。

      另外,該系統(tǒng)包括移動app端處理單元和web頁面端處理單元。

      另外,所述移動app端處理單元執(zhí)行以下步驟:

      向web發(fā)消息包括以下步驟:

      (a1)將消息對象轉(zhuǎn)為消息字符串;

      (a2)為消息分配通訊流水號;

      (a3)獲取app內(nèi)嵌的web瀏覽器句柄;

      (a4)通過web瀏覽器句柄獲取通訊api;

      (a5)將通訊流水號、消息字符串傳給web頁面;

      接收來自web的消息包括以下步驟:

      (b1)注冊接收web消息的方法;

      (b2)接收來自web的消息字符串;

      (b3)將消息字符串解析成json對象;

      (b4)分發(fā)并處理消息;

      (b5)如果找到了匹配的消息流水號,則將此消息當(dāng)作異步處理返回結(jié)果來處理。

      另外,所述web頁面端處理單元執(zhí)行以下步驟:

      (c1)根據(jù)約定創(chuàng)建方法接收來自app的消息;

      (c2)接收消息字符串;

      (c3)記錄消息流水號;

      (c4)將消息字符串解析成消息對象;

      (c5)分發(fā)并處理消息;

      向app發(fā)消息包括以下步驟:

      (d1)創(chuàng)建向app發(fā)送消息的方法;

      (d2)獲取消息對象;

      (d3)將消息對象序列化為消息字符串;

      (d4)發(fā)送消息字符串;

      (d5)如果有相關(guān)的消息流水號,將消息流水號協(xié)同消息字符串一起發(fā)送。

      以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護(hù)范圍。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1