完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在使用 Azure 编写应用的过程中,使用 IoTHubClient 库就可以轻松发送和接收消息,本章介绍 IoTHubClient 库提供的常用 API。更多详细的 API 请参考 Azure SDK 的 C API 参考。
|
|
相关推荐
1个回答
|
|
编程模型选择
IoTHubClient 库提供两套简单易用的 API,一套 API 的名称中包含 “LL”,另外一套则不包含,名称中包含 “LL” 的API 级别较低。无论选择带 “LL” 的 API 还是选择不带 “LL” 的 API,都必须前后相一致。 如果首先调用IoTHubClient_LL_CreateFromConnectionString,则对于任何后续工作,请务必只使用相应的较低级别的 API:
这些函数的 API 名称中包含“LL”。 除此之外,其中每个函数的参数都与其非 LL 的对等项相同。 但是,这些函数的行为有一个重要的差异。 当你调用 IoTHubClient_CreateFromConnectionString 时,基础库将创建在后台运行的新线程。 此线程将事件发送到 IoT 中心以及从 IoT 中心接收消息。 使用 “LL” API 时则不会创建此类线程。 创建后台线程是为了给开发人员提供方便。 你无需担心如何明确与 IoT 中心相互发送和接收消息,因为此操作会在后台自动进行。 相比之下,借助 “LL”API,可根据需要明确控制与 IoT 中心的通信。 IoTHubClient 常用 API 下面以名称中包含 “LL” 的 API 为例介绍常用 API。 物联网中心客户端初始化 IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString( const char* connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)使用指定的连接字符串参数创建一个物联网中心客户端来与现有的物联网中心通信。 [tr]参数描述[/tr]
void IoTHubDeviceClient_LL_Destroy(IOTHUB_DEVICE_CLIENT_LL_HANDLE iotHubClientHandle)释放物联网中心客户端分配的资源。这是一个阻塞的调用。 [tr]参数描述[/tr]
IOTHUB_CLIENT_RESULT IoTHubClient_LL_SendEventAsync( IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void* userContextCallback)异步调用发送由 eventMessageHandle 指定的消息。 [tr]参数描述[/tr]
IOTHUB_CLIENT_RESULT IoTHubDeviceClient_LL_SetMessageCallback( IOTHUB_DEVICE_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void* userContextCallback)当物联网中心向设备发送消息时,设置要调用的消息回调。这是一个阻塞的调用。 [tr]参数描述[/tr]
IOTHUB_CLIENT_RESULT IoTHubDeviceClient_LL_SetOption( IOTHUB_DEVICE_CLIENT_LL_HANDLE iotHubClientHandle, const char* optionName, const void* value)这个API设置了一个由参数 optionName 标识的运行时选项,选项名和数据类型值指向每个选项都是特定的。 [tr]参数描述[/tr]
IOTHUB_CLIENT_RESULT IoTHubDeviceClient_LL_SetConnectionStatusCallback( IOTHUB_DEVICE_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_CONNECTION_STATUS_CALLBACK connectionStatusCallback, void * userContextCallback)设置要调用的连接状态回调,表示连接到物联网中心的状态。这是一个阻塞的调用。 [tr]参数描述[/tr]
void IoTHubDeviceClient_LL_DoWork(IOTHUB_DEVICE_CLIENT_LL_HANDLE iotHubClientHandle)当工作(发送/接收)可以由 IoTHubClient 完成时,该函数将被用户调用。所有 IoTHubClient 交互(关于网络流量和/或用户级回调)都是调用这个函数的效果,它们在 DoWork 中同步进行。 [tr]参数描述[/tr]
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AI模型部署边缘设备的奇妙之旅:边缘端设备的局域网视频流传输方案
328 浏览 0 评论
1291 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
5157 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1707 浏览 0 评论
2630 浏览 0 评论
76383 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-6 14:34 , Processed in 0.598442 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号