This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我将 cc3200 SDK 1.3.0和 CCS v7与 cc3200launchXL 搭配使用、以进行原型设计。 该示例开箱即用、但现在我正在尝试在 该 库的帮助下创建动态 json 数据。 我已测试了从该库生成的 json 字符串、并使用 cURL 进行了 http 发布、但它工作正常。 问题是、当我使用从其 API 生成的字符串(经 json 验证)时、http POST 不起作用、并且在终端上、我只看到 HTTP Post 开始和 HTTP Post 结束。在 HTTP 服务器上、未接收到任何数据、 我在终端上完全没有错误日志。 这会使调试问题变得困难。 如果任何人已经知道代码流、则会感谢指向错误的任何指针。 下面是我使用的代码:
int main(){... size_t buff _size = build_packet ((float) i); lRetVal = HTTPPostMethod (&httpClient、g_cpOutputBuffer、buff 大小); ... } static size_t build_packet (float value) { json_value * root_value = json_value_init_object (); json_Object * root_object = json_value_get_object (root_value); size_t bytes; char *串行化字符串= NULL; json_object_set_string (root_object、"name" 、"absin_object "、"json_set"、"json"、"absin_object) "volte"、value); bytes = json_serialize_size_t_gy (root_value); g_cpOutputBuffer =(char*) malloc (bytes);//g_cpOutputBuffer 是全局静态 char 指针 serialized_string = json_serialized_to_string_ral化为(root_value);strcp_palized_string (g_free_signalized); 返回字节; } 静态 int HTTPPostMethod (HTTPCLI_Handle httpClient、char *数据、size_t length){ ... sprintf ((char *) tmpBuf、"%d"、length); ... //其余 代码没有修改 lRetVal = HTTPCLI_sendRequestBody (httpClient、data、length); ... }
以下是我获得的日志:
(一 CC3200 HTTP 客户端应用 (一 主机驱动程序版本:1.0.1.11 内部版本2.9.0.31.1.4.1.0.1.1.3.0.3.37 器件配置为默认状态 器件作为工作站启动 [WLAN 事件] STA 连接到 AP:--- ,BSSID:---:---:---:--- [NetApp 事件]获得的 IP:IP=--- ,网关-------------------------------------------------------- 连接到 AP:--- 连接到服务器已成功创建 HTTP POST 开始 :HTTP POST 结束: HTTP GET 开始: HTTP 状态200 内容类型:application/json 成功解析7个 JSON 令牌 HTTP GET 结束:
现在我可以正确调试项目、我在 readResponse 中设置一个断点。
另一件可能的事情是、您得到的 HTTP 响应不是 HTTP 200或 HTTP 404。 在演示中,readResponse()函数仅处理状态为200和状态为404的 HTTP 响应。 也许您正在从服务器获得一些其他状态,在这种情况下,readResponse()调用 flushHTTPResponse()并丢弃数据。 检查卷曲打印件并查看从服务器返回的状态。 您还可以在 readResponse()中放置一个断点,以查看返回的内容。 如果从处理程序返回一些缺失的状态,则需要在 readReponse()中为该响应代码添加处理程序。
您回答正确、我在 readResponse 中收到状态400。 如何删除此错误?