亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

awtk-restful-httpd怎么配置

發布時間:2021-12-29 13:59:12 來源:億速云 閱讀:175 作者:iii 欄目:互聯網科技

這篇文章主要介紹“awtk-restful-httpd怎么配置”,在日常操作中,相信很多人在awtk-restful-httpd怎么配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”awtk-restful-httpd怎么配置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. 介紹

在嵌入式應用程序中,有時需要提供一個 WEB 服務,用于對系統進行遠程配置和管理。

awtk-restful-httpd 實現了一個 RESTful HTTP 服務框架,可以幫助開發者快速實現 RESTful API 風格的 WEB 服務。主要特色有:

  • 小巧。約 3000 行代碼。

  • 簡單。注冊自己路由表處理函數即可。

  • 易用。內置路由解析功能,并提供簡單易用的 JSON 讀寫 API。

  • 內存開銷低。正常 REST API 內存需求小于 2K,靜態文件內存需求小于 6K。

  • 方便嵌入到 AWTK 應用程序。無縫集成到 AWTK 的主循環,無需另外開辟線程。

2 準備

2.1 獲取 awtk 并編譯

git clone https://github.com/zlgopen/awtk.git
cd awtk; scons; cd -

2.2 獲取 awtk-restful-httpd 并編譯

git clone https://github.com/zlgopen/awtk-restful-httpd.git
cd awtk-restful-httpd
  • 生成資源

python ./scripts/update_res.py all

或者通過 designer 生成資源

  • 編譯 PC 版本

scons
  • 編譯 LINUX FB 版本

scons LINUX_FB=true

完整編譯選項請參考 編譯選項

3. 運行

./bin/demo

4. 示例

4.1 定義路由表

static ret_t my_httpd_on_status(http_connection_t* c) {
  return RET_OK;
}

static ret_t my_httpd_on_element_action(http_connection_t* c) {
  return RET_OK;
}

static const http_route_entry_t s_my_httpd_routes[] = {
  {HTTP_GET, "/status", my_httpd_on_status},
  {HTTP_GET, "element/:element/:action", my_httpd_on_element_action}
};

4.2 靜態文件

內置提供了靜態文件的處理,支持靜態文件處理相當容易。

static ret_t my_httpd_on_get_file(http_connection_t* c) {
  return http_route_handle_static_file(c, "static");
}

"static"在這里表示靜態文件所在的目錄。

路由匹配規則用“*”表示缺省路由,放到最后一項,用來處理靜態文件。

{HTTP_GET, "*", my_httpd_on_get_file},

4.3 靜態文件傳輸優化

有些大的文件,特別是文本文件,可以壓縮之后傳輸,能大大提供傳輸效率。為了避免運行時壓縮帶來的內存和 CPU 開銷,可以預先壓縮文件,并以.gz 文件命名。

比如請求 static/js/awtk_asm.wasm 文件時,如果存在 static/js/awtk_asm.wasm.gz,那么就返回 static/js/awtk_asm.wasm.gz 給客戶端,并設置 Content-Encoding,瀏覽器會自動解壓。

Content-Encoding: gzip

4.4 啟動服務

ret_t my_httpd_start(httpd_t* httpd) {
  return_value_if_fail(httpd != NULL, RET_BAD_PARAMS);

  httpd_set_routes(httpd, s_my_httpd_routes, ARRAY_SIZE(s_my_httpd_routes));
  
  return httpd_start(httpd);
}

到此,關于“awtk-restful-httpd怎么配置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

诏安县| 杭州市| 高密市| 包头市| 富民县| 中阳县| 奈曼旗| 漳平市| 敦化市| 辽源市| 灵丘县| 错那县| 三门峡市| 神木县| 松滋市| 安泽县| 西和县| 黄龙县| 阿城市| 伊吾县| 和龙市| 丘北县| 阜新市| 枣阳市| 年辖:市辖区| 巴林右旗| 合山市| 五家渠市| 齐齐哈尔市| 黄梅县| 西安市| 呼和浩特市| 枞阳县| 贵溪市| 弋阳县| 郸城县| 苏州市| 石林| 云南省| 泰和县| 托克托县|