runExample method
Implementation
Future<void> runExample() async {
// 创建MQTT客户端实例
_mqttClient = MqttClient(
server: 'your-mqtt-server.com', // 替换为你的MQTT服务器地址
clientId: 'flutter_client_${DateTime.now().millisecondsSinceEpoch}',
username: 'your-username', // 替换为你的用户名
password: 'your-password', // 替换为你的密码
);
// 监听消息流
_mqttClient.messageStream.listen((message) {
print('收到消息:');
print('主题: ${message['topic']}');
print('内容: ${message['message']}');
print('时间: ${message['timestamp']}');
print('---');
});
// 连接到服务器
final connected = await _mqttClient.connect();
if (connected) {
print('连接成功,开始订阅主题...');
// 订阅多个主题
await _mqttClient.subscribe('device/status');
await _mqttClient.subscribe('sensor/data');
await _mqttClient.subscribe('notification/alert');
// 发布测试消息
await _mqttClient.publish('device/status', {
'device_id': 'device_001',
'status': 'online',
'timestamp': DateTime.now().toIso8601String(),
});
// 保持连接运行
Timer.periodic(Duration(seconds: 5), (timer) async {
await _mqttClient.publish('sensor/data', {
'temperature': 25.5,
'humidity': 60,
'timestamp': DateTime.now().toIso8601String(),
});
});
} else {
print('连接失败');
}
}