runExample method

Future<void> runExample()

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('连接失败');
  }
}