MQTT 中回调有什么用?

问题描述 投票:0回答:2

我正在尝试使用Arduino和MQTT协议实现一个天气监测系统。在尝试理解其背后的代码时,我遇到了一个函数:

void callback(char* topic, byte* payload, unsigned int length) {
}

那么,我的问题是,这个函数在 MQTT 中到底是用来做什么的?如果有人向我解释或链接一个有用的教程。提前致谢!

arduino mqtt iot
2个回答
1
投票

当从代理收到新消息时(对于您已订阅的主题),底层 MQTT 库将调用此函数。

您可以填写要如何处理消息的详细信息。


0
投票

由于回调函数是异步运行的,即它会中断当前代码的执行,因此“最佳实践”是在回调例程中尽可能少地执行,仅将全局变量(例如标志或数字)设置为从回调函数接收到的值。订阅主题消息。然后,在回调返回后,您的代码应该检查标志/值并根据它们做出代码执行决策。

© www.soinside.com 2019 - 2024. All rights reserved.