在 Flutter 中实现 MQTT

Implementing MQTT in Flutter

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

这就是我想要的:

  1. MQTT 客户端,当应用程序 open/not 被 OS 杀死时应为 "alive"。

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

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

我查看了 pub,发现了 2 个包,mqtt and mqtt_client,它们看起来像是 Dart 中 MQTT 的非 Flutter 实现。

我知道如何使用其中一个库来使其与 flutter 一起工作,但不确定它是否有效:

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

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

  3. 树下的任何小部件都能够访问 MQTTObserver 小部件的状态以将其反映在它们的 UI.

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

mqtt_client 包已经在 flutter 中使用,虽然正在开发中,我自己不使用 flutter,但是一些 flutter 用户已经提出了问题,请参见[这里][1]

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