本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
coreHTTP 双向身份验证演示
重要
该演示托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南。
简介
coreMQTT(双向身份验证)演示项目展示了如何使用在客户端与服务器之间具有双向身份验证的 TLS 建立与 HTTP 服务器的连接。此演示使用基于 mbedTLS 的传输接口实现来建立经过服务器和客户端身份验证的 TLS 连接,并演示了 HTTP 中的请求响应工作流程。
注意
要设置和运行 FreeRTOS 演示,请按照开始使用 FreeRTOS中的步骤操作。
功能
此演示创建一个应用程序任务,其示例演示如何完成以下操作:
-
连接到 Amazon IoT 终端上的 HTTP 服务器。
-
发送 POST 请求。
-
接收响应。
-
断开与服务器的连接。
完成这些步骤后,演示将生成类似于以下屏幕截图的输出。
![显示 Amazon IoT 演示初始化、TLS 会话建立、HTTP POST 请求和表示成功完成演示的内存指标的日志输出。](images/coreHTTP.output.png)
Amazon IoT 控制台生成类似于以下屏幕截图的输出。
![Amazon IoT 控制台显示世界标准时间 2020 年 11 月 20 日 19:09:09 向某个主题发布的 “来自 Amazon IoT 控制台的你好” 消息。](images/coreHTTP.console.png)
源代码组织
演示源文件已命名http_demo_mutual_auth.c
,可以在
目录和 GitHubfreertos
/demos/coreHTTP/
正在连接到 Amazon IoT HTTP 服务器
connectToServerWithBackoff重试函数尝试RetryUtils_BackoffAndSleep
函数提供指数级增长的超时值,并在达到最大尝试次数时返回 RetryUtilsRetriesExhausted
。如果在配置的尝试次数后仍无法建立与代理的 TLS 连接,则 connectToServerWithBackoffRetries
函数将返回失败状态。
发送 HTTP 请求和接收响应
prvSendHttp请求HTTPClient_Send
接收。