在 Flutter 中实现 MQTT

Har*_*dia 6 mqtt dart flutter flutter-dependencies

我是 Flutter 的新手(来自 Android 背景),想在 Flutter 中实现 MQTT 客户端。

这就是我要的:

  1. 当应用程序打开/未被操作系统杀死时,MQTT 客户端应该是“活动的”。

  2. 我不想在后台运行它(没有打开应用程序,我知道在 iOS 中这样做有问题,请在某处阅读)但是当应用程序打开时。

  3. 根据订阅主题中的消息更新 UI/状态。

我查看了 pub 并找到了 2 个包,mqttmqtt_client,它们看起来像 dart 中 MQTT 的非 Flutter 实现。

我有一个想法如何使用这个库中的一个来使它与颤振一起工作,但不确定它是否有效:

  1. 创建并实现 MQTTObserver 状态小部件,它将异步连接到代理并侦听特定主题的消息并相应地更新状态。

  2. 将这个小部件包裹在 MaterialApp 周围

  3. 树下的任何小部件都可以访问 MQTTObserver 小部件的状态,以将其反映在其 UI 中。

你认为这是个好主意吗?它会起作用吗?你有更好的主意吗?或者我应该为 MQTT 实现特定于平台的实现(应该是我的最后选择)。

use*_*314 2

mqtt_client 包已经在 flutter 中使用,尽管正在开发中,我自己不使用 flutter,但一些 flutter 用户提出了有关它的问题,请参阅[此处][1]

[1]: https: //github.com/shamblett/mqtt_client/issues/16为例,问题列表中还有其他问题,也许您可​​以向其中一位 flutter 开发人员询问您的问题。