成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Web端與Client客戶端數(shù)據(jù)交互方案選擇

haobowd / 3363人閱讀

摘要:端暴露給端的方法方案優(yōu)缺點(diǎn)對(duì)比結(jié)論對(duì)于復(fù)雜的場(chǎng)景支持程度優(yōu)先選擇方案二。此文檔提供的方案同樣適用于開發(fā)的客戶端與數(shù)據(jù)交互

背景

CS架構(gòu)中會(huì)在客戶端中嵌入web頁面,能大量提升開發(fā)效率和用戶體驗(yàn)。AR客戶端開發(fā)語言為C#,其中的Web頁面運(yùn)行在基于Chromium的瀏覽器中,當(dāng)Cient端需要調(diào)用多個(gè)Web窗口,并且各個(gè)Web窗口間也有數(shù)據(jù)交互,這樣的情況下Cient端管理多個(gè)Web窗口、Web端與Cient端、Web與Web窗口間如何更好的進(jìn)行數(shù)據(jù)交互就成為一個(gè)復(fù)雜的場(chǎng)景。基于項(xiàng)目實(shí)踐和以往的開發(fā)經(jīng)驗(yàn)做了這方面的總結(jié)歸納。

C#向Web端,目前已知的可實(shí)現(xiàn)方案如下:

方案一:

C#調(diào)起Web頁面時(shí),將數(shù)據(jù)參數(shù)加入到url中,Web端解析。這是在一般項(xiàng)目中簡(jiǎn)單的業(yè)務(wù)場(chǎng)景下最優(yōu)先選用的方案,傳參形式如下:http://10.10.10.10:80/index.html?pageId=3345688&name=62133&postType=1

方案二

C#調(diào)起Web頁面后直接調(diào)用js暴露出的函數(shù),將數(shù)據(jù)以參數(shù)的形式發(fā)送給Web端。

Web端暴露給Client端的方法:

方案優(yōu)缺點(diǎn)對(duì)比:

結(jié)論:對(duì)于復(fù)雜的場(chǎng)景支持程度優(yōu)先選擇方案二。

Web端向C#進(jìn)行數(shù)據(jù)傳輸,目前已知的可實(shí)現(xiàn)方案如下

方案1

C#暴露接口給Web端,js直接調(diào)用C#接口以參數(shù)形式發(fā)送數(shù)據(jù),C#解析請(qǐng)求參數(shù)解析并進(jìn)行事件分發(fā)。

Web調(diào)用c#暴露的方法

方案2

Web端與c#自定義協(xié)議,Web端通過自定義協(xié)議將數(shù)據(jù)發(fā)送給Client端,Client端截取自定義協(xié)議請(qǐng)求并解析。
如果定義的協(xié)議為:webclientprotocol://websendmsgtoclient,Web頁面通過iframe發(fā)送該請(qǐng)求,并在請(qǐng)求中加入數(shù)據(jù)如下:webclientprotocol://websendmsgtoclient?id=0&name=page

方案3:

Web端通過http請(qǐng)求向Web后端服務(wù)發(fā)送數(shù)據(jù),Web后端服務(wù)通過tcp長(zhǎng)連接向Client端發(fā)送數(shù)據(jù),這種方式由于涉及多方面的數(shù)據(jù)傳輸,并且tcp傳輸數(shù)據(jù)復(fù)雜,一般情況下不選用該方案。

方案對(duì)比:

結(jié)論:從傳輸效率、開發(fā)工作量、實(shí)現(xiàn)的復(fù)雜度三個(gè)方面對(duì)比,方案一的優(yōu)勢(shì)明顯。

選擇C#向Web端的方案二和Web端向C#的方案一應(yīng)用

數(shù)據(jù)傳輸格式:只支持String格式傳輸,但是為了數(shù)據(jù)解析的方便,將json轉(zhuǎn)換為string;
如果有A、B、C、D四個(gè)窗口間有數(shù)據(jù)的相互傳輸,模型如下:

備注:文中粘貼的代碼只是代碼實(shí)例,項(xiàng)目中實(shí)際用的暴露接口需要提供事件分發(fā),數(shù)據(jù)格式檢測(cè)的功能。

此文檔提供的方案同樣適用于C++開發(fā)的客戶端與Web數(shù)據(jù)交互

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/94628.html

相關(guān)文章

  • Vue.js 服務(wù)端渲染業(yè)務(wù)入門實(shí)踐

    摘要:說起,其實(shí)早在出現(xiàn)之前,網(wǎng)頁就是在服務(wù)端渲染的。沒有涉及流式渲染組件緩存對(duì)的服務(wù)端渲染有更深一步的認(rèn)識(shí),實(shí)際在生產(chǎn)環(huán)境中的應(yīng)用可能還需要考慮很多因素。選擇的服務(wù)端渲染方案,是情理之中的選擇,不是對(duì)新技術(shù)的盲目追捧,而是一切為了需要。 作者:威威(滬江前端開發(fā)工程師)本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者及出處。 背景 最近, 產(chǎn)品同學(xué)一如往常笑嘻嘻的遞來需求文檔, 縱使內(nèi)心萬般拒絕, 身體倒是很誠(chéng)實(shí)...

    miya 評(píng)論0 收藏0
  • WebWorker與WebSocket實(shí)現(xiàn)前端消息總線

    摘要:讓端與服務(wù)端維持一個(gè)有效的長(zhǎng)連接,實(shí)現(xiàn)服務(wù)端主動(dòng)推送數(shù)據(jù)。不同是實(shí)現(xiàn)了服務(wù)端與客戶端的全雙工通訊。在未出現(xiàn)之前,要是實(shí)現(xiàn)一個(gè)信息推送的功能,通過來實(shí)現(xiàn)唯一方案就是輪訓(xùn),輪訓(xùn)分長(zhǎng)短,各有弊端。 Web Worker讓JS有了多線程的能力,可以將復(fù)雜耗時(shí)的操作都交付給Worker線程處理。WebSocket讓web端與服務(wù)端維持一個(gè)有效的長(zhǎng)連接,實(shí)現(xiàn)服務(wù)端主動(dòng)推送數(shù)據(jù)。將二者一結(jié)合,業(yè)務(wù)系...

    Pines_Cheng 評(píng)論0 收藏0
  • WebWorker與WebSocket實(shí)現(xiàn)前端消息總線

    摘要:讓端與服務(wù)端維持一個(gè)有效的長(zhǎng)連接,實(shí)現(xiàn)服務(wù)端主動(dòng)推送數(shù)據(jù)。不同是實(shí)現(xiàn)了服務(wù)端與客戶端的全雙工通訊。在未出現(xiàn)之前,要是實(shí)現(xiàn)一個(gè)信息推送的功能,通過來實(shí)現(xiàn)唯一方案就是輪訓(xùn),輪訓(xùn)分長(zhǎng)短,各有弊端。 Web Worker讓JS有了多線程的能力,可以將復(fù)雜耗時(shí)的操作都交付給Worker線程處理。WebSocket讓web端與服務(wù)端維持一個(gè)有效的長(zhǎng)連接,實(shí)現(xiàn)服務(wù)端主動(dòng)推送數(shù)據(jù)。將二者一結(jié)合,業(yè)務(wù)系...

    stefan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<