请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3200-LAUNCHXL Thread 中讨论的其他器件:CC3200
工具/软件: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 结束: