再开过程中我们经常使用到MQTT 进行 订阅,来进行 消息的发送、接受等操作。
下面就是我对Flutter MQTT 的简单实用并,这里为方便大家使用 ,我封装了一个MQTT管理类,代码如下,功能介绍也写在 代码注释中。
注意:Flutter 开发环境为 3.16.2,如果版本 存在差别,要略微 修改。
插件:
mqtt_client: ^10.0.1
import 'package:aboxmini/util/log_util.dart';// 打印日志类
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';
import 'package:typed_data/typed_buffers.dart';
/// 监听MQTT回掉数据闭包
typedef AutomaticallyReceiveMessagesCallBack = void Function(
String topic, dynamic payload);
/// MQTT 管理类
class MqttUtil {
// 记录客户端是否正在连接
bool isConnecting = false;
final MqttQos _qos = MqttQos.atLeastOnce;
late MqttModel mqttModel;
static MqttUtil? _instance;
static MqttUtil share() {
return _instance ?? MqttUtil();
}
AutomaticallyReceiveMessagesCallBack? callBac