色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙網(wǎng)絡(luò)開發(fā)學(xué)習(xí):【ylong_http】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-25 16:36 ? 次閱讀

簡(jiǎn)介

ylong_http 構(gòu)建了完整的 HTTP 能力,支持用戶使用 HTTP 能力完成通信場(chǎng)景的需求。

ylong_http 使用 Rust 編寫,為 OpenHarmony 的 Rust 能力構(gòu)筑提供支持。

ylong_http 在 OpenHarmony 中的位置

ylong_http 向 OpenHarmony 系統(tǒng)服務(wù)層中的網(wǎng)絡(luò)協(xié)議棧模塊提供 HTTP 協(xié)議支持,經(jīng)由網(wǎng)絡(luò)協(xié)議棧模塊幫助上層應(yīng)用建立 HTTP 通信能力。

structure

以下是對(duì)于上圖關(guān)鍵字段的描述信息

  • APP:需要使用上傳下載能力的直接面向用戶的上層應(yīng)用。
  • request:提供上傳下載能力的系統(tǒng)組件。
  • netstack:提供網(wǎng)絡(luò)協(xié)議棧功能的系統(tǒng)組件。
  • ylong_http:提供 HTTP 能力的系統(tǒng)組件。
    • ylong_http_clientylong_http 下的模塊之一,提供 HTTP 客戶端能力。
    • ylong_http:ylong_http 下的模塊之一,提供 HTTP 的基礎(chǔ)能力。
  • ylong_runtimeylong 提供的 Rust 異步運(yùn)行時(shí)庫(kù)。
  • tokio:業(yè)界常用的第三方 Rust 異步運(yùn)行時(shí)庫(kù)。
  • OpenSSL:業(yè)界常用的第三方 TLS 實(shí)現(xiàn)庫(kù)。

ylong_http 的內(nèi)部架構(gòu):

inner_structure

ylong_http 內(nèi)部當(dāng)前分為兩個(gè)主要模塊:ylong_http_client 客戶端模塊和 ylong_http 協(xié)議組件模塊。

ylong_http_client 模塊負(fù)責(zé)提供 HTTP 客戶端功能,能夠支持用戶發(fā)送 HTTP 請(qǐng)求,并接收 HTTP 響應(yīng),內(nèi)部又分為三個(gè)主要部分:

  • sync_impl:同步的 HTTP 客戶端實(shí)現(xiàn),該客戶端實(shí)現(xiàn)不依賴于任何運(yùn)行時(shí),可以直接在線程模型上運(yùn)行,但是整體使用同步阻塞策略。
  • async_impl:異步的 HTTP 客戶端實(shí)現(xiàn),該客戶端實(shí)現(xiàn)需要使用 Rust 的異步運(yùn)行時(shí)組件。異步 HTTP 客戶端利用 Rust 的異步能力,具有優(yōu)異的性能表現(xiàn)。
  • Util:同步和異步的 HTTP 客戶端部分實(shí)現(xiàn)共通,例如自動(dòng)重定向、HTTP 代理等。

sync_implasync_impl 接口原型基本一致(主要是 Rust 異步語(yǔ)法與同步語(yǔ)法的差異),所以用戶可以在較小的代碼改動(dòng)量下完成同步和異步邏輯的切換。

sync_implasync_impl 的整體架構(gòu)相同,分為如下模塊:

  • Client:對(duì)外提供 HTTP 客戶端的基本接口,例如配置客戶端的相關(guān)選項(xiàng),發(fā)送 HTTP 請(qǐng)求等。
  • ConnectionPool:主要負(fù)責(zé)大量連接管理,管理所有 Dispatcher 的生命周期,包括啟動(dòng)、運(yùn)行、停止。HTTP 協(xié)議是基于連接的通信協(xié)議,涉及連接復(fù)用、連接管理等功能。
  • Dispatcher:主要負(fù)責(zé)單一連接管理,管理單個(gè)連接的啟動(dòng)、運(yùn)行、停止、傳輸。每個(gè)連接都被一個(gè) Dispatcher 管轄,由 Dispatcher 決定當(dāng)前待發(fā)送的請(qǐng)求是不是使用它管理的連接。
  • Connections:連接對(duì)象,可以是 TCP 連接、TLS 連接或者是更加泛化的連接對(duì)象,在該連接上進(jìn)行消息傳輸和接收,是 Client 和 HTTP 協(xié)議的底座。
  • Connector:負(fù)責(zé)創(chuàng)建連接對(duì)象。Connector 也是一個(gè) trait,用戶可以使用它來(lái)定義創(chuàng)建連接時(shí)的行為。

Util 中包含了同步和異步的 HTTP 客戶端共通的能力,例如:

  • Redirect:HTTP 自動(dòng)重定向能力。當(dāng) HTTP 響應(yīng)返回重定向相關(guān)的狀態(tài)碼時(shí),HTTP 客戶端會(huì)進(jìn)行自動(dòng)重定向,并自動(dòng)發(fā)送新的請(qǐng)求到下一跳。
  • Proxy:HTTP 代理能力。發(fā)送 HTTP 請(qǐng)求時(shí),向代理發(fā)送而非直接發(fā)送給原始服務(wù)器,然后由代理服務(wù)器返回原始服務(wù)器的響應(yīng)。
  • Pool:通用連接池實(shí)現(xiàn),支持多個(gè)同步或異步連接的管理,便于上層同步或異步客戶端復(fù)用已有連接,減少連接重復(fù)創(chuàng)建次數(shù),提高性能。
  • OpenSSL_adapter:HTTPS 需要在 HTTP 的基礎(chǔ)上使用 TLS 能力,在 OpenHarmony 上使用的是 OpenSSL,所以需要對(duì) OpenSSL 的接口進(jìn)行 Rust 封裝。

ylong_http 模塊負(fù)責(zé)提供 HTTP 的基礎(chǔ)能力,例如 HTTP2 的 HPACK、HTTP3 的 QPACK 等,主要包含以下關(guān)鍵模塊:

  • Request:HTTP 請(qǐng)求基礎(chǔ)能力,根據(jù) RFC9110 規(guī)定實(shí)現(xiàn)了 HTTP 請(qǐng)求的所有內(nèi)容和行為。HTTP 請(qǐng)求主要用于向指定服務(wù)器發(fā)送請(qǐng)求。
  • Response:HTTP 響應(yīng)基礎(chǔ)能力,根據(jù) RFC9110 規(guī)定實(shí)現(xiàn)了 HTTP 響應(yīng)的所有內(nèi)容和行為。HTTP 響應(yīng)主要是服務(wù)器針對(duì)客戶端請(qǐng)求的回應(yīng)。
  • Body: HTTP 消息體能力,根據(jù) RFC9110 規(guī)定實(shí)現(xiàn)了 HTTP 消息體的所有內(nèi)容和行為。HTTP 消息體保存主要數(shù)據(jù)內(nèi)容,以便客戶端和服務(wù)器通信。 HTTP 消息體在協(xié)議中有多種形式,在 ylong_http 庫(kù)中有對(duì)應(yīng)實(shí)現(xiàn),例如 EmptyBody 對(duì)應(yīng)于空消息體,TextBody 對(duì)應(yīng)于明文消息體,ChunkBody 對(duì)應(yīng)于分塊消息體,Mime 對(duì)應(yīng)于 Multipart 消息體。
  • H1:HTTP1 的所有基礎(chǔ)能力,例如 HTTP1 格式的請(qǐng)求和響應(yīng)的編碼器和解碼器等。
  • H2:HTTP2 的所有基礎(chǔ)能力,例如 HTTP2 格式的請(qǐng)求和響應(yīng)的編碼器和解碼器、HTTP2 幀編碼器和解碼器、HPACK等。
  • H3:HTTP3 的所有基礎(chǔ)能力,例如 HTTP3 格式的請(qǐng)求和響應(yīng)的編碼器和解碼器、QPACK 等。

鴻蒙開發(fā)知識(shí)更新前往[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]參考。

鴻蒙開發(fā)OpenHarmony就業(yè)必修技能.png

編譯構(gòu)建

若使用 GN 編譯工具鏈, 在 BUILD.gndeps 段下添加依賴。添加后使用 GN 進(jìn)行編譯和構(gòu)建:

deps += ["http://example_path/ylong_http_client:ylong_http_client"]

若使用 Cargo 編譯工具鏈, 在 Cargo.toml 下添加依賴。添加后使用 cargo 進(jìn)行編譯和構(gòu)建:

[dependencies]
ylong_http_client = { path = "/example_path/ylong_http_client" } # 請(qǐng)使用路徑依賴

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8611

    瀏覽量

    151239
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6034

    瀏覽量

    136022
  • 網(wǎng)絡(luò)協(xié)議

    關(guān)注

    3

    文章

    267

    瀏覽量

    21548
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2358

    瀏覽量

    42871
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3723

    瀏覽量

    16337
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙OS開發(fā)學(xué)習(xí):【尺寸適配實(shí)現(xiàn)】

    鴻蒙開發(fā)中,尺寸適配是一個(gè)重要的概念,它可以幫助我們?cè)诓煌聊怀叽绲脑O(shè)備上正確顯示和布局我們的應(yīng)用程序。本文將介紹如何在鴻蒙開發(fā)中實(shí)現(xiàn)尺寸適配的方法。
    的頭像 發(fā)表于 04-10 16:05 ?1764次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b><b class='flag-5'>學(xué)習(xí)</b>:【尺寸適配實(shí)現(xiàn)】

    免費(fèi)學(xué)習(xí)鴻蒙(HarmonyOS)開發(fā),一些地址分享

    國(guó)內(nèi)一流高校。通過(guò)鴻蒙班的設(shè)立,高校可以為學(xué)生提供專業(yè)的鴻蒙OS學(xué)習(xí)環(huán)境和豐富的實(shí)踐機(jī)會(huì),培養(yǎng)出更多的鴻蒙開發(fā)人才,為
    發(fā)表于 01-12 20:48

    盤點(diǎn)那些硬件+項(xiàng)目學(xué)習(xí)套件:Hi3861鴻蒙開發(fā)板及入門常見問(wèn)題解答

    網(wǎng)絡(luò)開發(fā)以及華為云接入這些內(nèi)容就OK。這些內(nèi)容學(xué)習(xí)起來(lái),一個(gè)月就足夠搞定了。 2.這個(gè)板子能裝apk嗎? 不能。一般問(wèn)這個(gè)問(wèn)題的,都是想學(xué)鴻蒙應(yīng)用
    發(fā)表于 02-01 16:55

    學(xué)習(xí)鴻蒙背后的價(jià)值?星河版開放如何學(xué)習(xí)

    需要有更多的鴻蒙人才;鴻蒙開發(fā)工程師也將會(huì)迎來(lái)爆發(fā)式的增長(zhǎng)! 所以學(xué)習(xí)鴻蒙勢(shì)在必行,而大部分人都能適合學(xué)
    發(fā)表于 02-22 20:55

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】

    UIAbility應(yīng)用 網(wǎng)絡(luò)案例 …… 《鴻蒙NEXT星河版開發(fā)學(xué)習(xí)文檔》 +mau123789記住是v心喔! 總結(jié) 鴻蒙—作為國(guó)家主
    發(fā)表于 03-03 21:29

    鴻蒙原生應(yīng)用開發(fā)-網(wǎng)絡(luò)管理HTTP數(shù)據(jù)請(qǐng)求

    http模塊提供。 使用該功能需要申請(qǐng)ohos.permission.INTERNET權(quán)限。 涉及的接口如下表,具體的接口說(shuō)明請(qǐng)參考API文檔。 三、request接口開發(fā)步驟 1.從
    發(fā)表于 03-29 17:51

    鴻蒙HarmonyOS開發(fā)學(xué)習(xí)資料匯總推薦

    課程3.1 鴻蒙IoT開發(fā)入門教程https://bbs.elecfans.com/jishu_2001481_1_1.html3.2 鴻蒙設(shè)備開發(fā)入門教程
    發(fā)表于 04-20 11:33

    鴻蒙應(yīng)用開發(fā)基礎(chǔ)術(shù)語(yǔ)學(xué)習(xí) 輕應(yīng)用

    開發(fā)者可以通過(guò)鴻蒙輕應(yīng)用,通過(guò)點(diǎn)擊關(guān)鍵詞解鎖詳細(xì)解釋的方式,方便快速第了解鴻蒙的基礎(chǔ)術(shù)語(yǔ)。可以獨(dú)立作為一個(gè)應(yīng)用發(fā)展,也可以作為各種應(yīng)用中的一個(gè)模塊。適合HarmonyOS開發(fā)者及潛在
    發(fā)表于 05-19 18:33

    開發(fā)者如何快速加入鴻蒙生態(tài)?(學(xué)習(xí)方法+職業(yè)定位)

    HarmonyOS/OpenHarmony開發(fā)者們?cè)?b class='flag-5'>學(xué)習(xí)、成長(zhǎng)中對(duì)自己的準(zhǔn)確的定位,包括個(gè)人開發(fā)者、企業(yè)開發(fā)者、各個(gè)不同職能的開發(fā)者等對(duì)應(yīng)的
    發(fā)表于 11-10 16:04

    學(xué)習(xí)鴻蒙開發(fā)給你工作帶來(lái)了哪些實(shí)質(zhì)的影響呢?

    有人學(xué)習(xí)鴻蒙開發(fā),是為了掌握一門新技術(shù);有人學(xué)習(xí)鴻蒙開發(fā),是為了獲得一門更好的工作;有人
    發(fā)表于 03-16 14:27

    要成為鴻蒙開發(fā)者,應(yīng)該學(xué)習(xí)哪些編程語(yǔ)言

    據(jù)了解,鴻蒙系統(tǒng)是基于Linux開發(fā)的,源碼是C語(yǔ)言。那么,作為一名開發(fā)者,如何幫助鴻蒙系統(tǒng)構(gòu)建生態(tài)呢?在以往安卓、蘋果系統(tǒng)構(gòu)建過(guò)程,有哪些可以值得借鑒的地方呢?要成為
    的頭像 發(fā)表于 09-24 12:06 ?1.3w次閱讀

    鴻蒙環(huán)境下的Http網(wǎng)絡(luò)訪問(wèn)完成設(shè)計(jì)

    1.原始的網(wǎng)絡(luò)訪問(wèn),再加上多線程,會(huì)使程序臃腫 ? ? ? ? 網(wǎng)絡(luò)請(qǐng)求在現(xiàn)代的應(yīng)用開發(fā)中必不可少,我們熟知的網(wǎng)絡(luò)請(qǐng)求框架還真不少,像HttpClient、OkHttp還有volley
    的頭像 發(fā)表于 04-16 13:52 ?1759次閱讀
    <b class='flag-5'>鴻蒙</b>環(huán)境下的<b class='flag-5'>Http</b><b class='flag-5'>網(wǎng)絡(luò)</b>訪問(wèn)完成設(shè)計(jì)

    OpenHarmony上使用的Http網(wǎng)絡(luò)框架教程

    簡(jiǎn)介 鴻蒙上使用的Http網(wǎng)絡(luò)框架,里面包含純Java實(shí)現(xiàn)的HttpNet,類似okhttp使用,支持同步和異步兩種請(qǐng)求方式;還有鴻蒙版retrofit,和Android版Retrof
    發(fā)表于 04-12 11:13 ?4次下載

    鴻蒙開發(fā)實(shí)戰(zhàn):【ylong_http】解析

    ylong_http 構(gòu)建了完整的 HTTP 能力,支持用戶使用 HTTP 能力完成通信場(chǎng)景的需求。
    的頭像 發(fā)表于 03-12 16:57 ?618次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn):【<b class='flag-5'>ylong_http</b>】解析

    鴻蒙OS開發(fā)實(shí)例:【HarmonyHttpClient】網(wǎng)絡(luò)框架

    鴻蒙上使用的Http網(wǎng)絡(luò)框架,里面包含純Java實(shí)現(xiàn)的HttpNet,類似okhttp使用,支持同步和異步兩種請(qǐng)求方式;還有鴻蒙版retrofit,和Android版Retrofit相
    的頭像 發(fā)表于 04-12 16:58 ?844次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b>實(shí)例:【HarmonyHttpClient】<b class='flag-5'>網(wǎng)絡(luò)</b>框架
    主站蜘蛛池模板: 四虎永久精品视频在线| 亚洲国产综合另类视频| 美女张开腿露尿口给男人亲| 空姐内射出白浆10p| 麻豆COMCN| 女人张开腿让男人添| 人善交XUANWEN200喷水| 色欲人妻无码AV专区| 午夜看片网| 亚洲日本欧美国产在线视| 伊人国产在线播放| 9477小游戏| 冰山高冷受被c到哭np双性 | 老师机影院| 欧美AAAAAA级午夜福利视频| 日本久久中文字幕| 无码任你躁久久久久久老妇双奶| 亚洲蜜桃AV永久无码精品放毛片| 渔夫床满艳史bd高清在线直播 | 色欲av蜜臀av高清| 性夜夜春夜夜爽AA片A| 在线精品视频成人网| qvod12| 国产片MV在线观看| 久久精品国产首叶| 欧美性FREE玩弄少妇| 消息称老熟妇乱视频一区二区| 夜夜国产亚洲视频香蕉| 99视频精品全部 国产| 国产精品第100页| 久久免费大片| 日本综艺大尺度无删减版在线 | 可以看的黄页的网站| 日本无码欧美激情在线视频| 亚洲精品乱码久久久久久v | 无人视频在线观看免费播放影院 | 女人被弄到高潮叫床免| 微福利92合集| 最新日本免费一区| 国产产乱码一二三区别免费| 久久亚洲视频|