日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

stm32f103zet6实现HTTP协议请求,UTF-8转码JSON打包上传

發布時間:2025/3/21 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32f103zet6实现HTTP协议请求,UTF-8转码JSON打包上传 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述:

  最近在做一個項目,需要用stm32f103zet6開發板走HTTP協議,向疲勞駕駛檢測設備發送請求消息,使其下發人臉識別的圖片或參數信息,開發板進行接收,要求如下:

  1. 開發板作為客戶端、疲勞駕駛檢測是被作為服務器端?

  2. 標準HTTP協議

  3. 請求方法使用POST請求方式,上傳或下發的數據放在消息主體中(entity-body)

  4. 所有字符串需進行UTF-8轉碼

  5. 雙方交換的數據統一打包為JSON格式

?

思路:

  1. 封裝HTTP請求數據包

    (1)弄清楚請求消息的具體格式

    (2)按照cJSON的使用方法用cJSON庫中的接口函數將HTTP請求消息的數據封裝為JSON包

  2. 按照TCP-Client的流程進行TCP連接

  3. 客戶端向服務器端發送HTTP請求信息

   將封裝的JSON數據包放在TCP發送函數中,發送給服務器

  4. 服務器端接收到請求后向客戶端發送響應信息

   用TCP接收函數接收消息,接收到的消息應該是UTF-8編碼的,JSON包數據

  5. 對JSON包數據進行解析

  6. 服務器關閉TCP連接

   一般情況下,一旦服務器向瀏覽器發送完數據后它就要關閉TCP連接,除非客戶端或服務器發送信息的時候加上了以下代碼:

   Connection:keep-alive

   TCP連接在發送后將仍然保持打開狀態

問題:

  1. HTTP請求消息的格式是什么???如下圖(1)是標準請求消息格式,請具體舉例,比如 獲取人臉圖片的請求消息格式是什么???在產品手冊中說明如圖(2)

   

   

                (1)

   

                    (2)

?

  

  2. 知道了具體的請求消息格式后,

   (1)是否先需要造一個請求消息的字符串數組,然后再將該字符串數組進行UTF-8編碼???,然后再將該UTF-8編碼后的數據進行JSON封裝???

   (2)或是直接使用cJSON數據庫按照請求消息格式封裝一個請求消息的JSON包,然后再將該JSON包進行UTF-8轉碼???

  3. 針對第2個問題中的(1)(2)兩點:

   (1)UTF-8編碼后的數據進行JSON封裝后,是否還需要轉化成普通的字符串數據后,再通過TCP發送函數發送給服務器???

   (2)先JSON封轉再進行UTF-8轉碼后,是直接通過TCP發送函數發送,還是需要再轉化成普通字符串數據后再通過tcp發送函數發送給服務器???

  4. 服務器響應客戶端后,是否直接關閉TCP連接,還是在客戶端發送請求消息的時候添加以下代碼保持TCP連接???

   Connection:keep-alive   

   

轉載于:https://www.cnblogs.com/wdy0505/p/10094816.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的stm32f103zet6实现HTTP协议请求,UTF-8转码JSON打包上传的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。