// import 'dart:async'; // import 'dart:math'; // import 'package:mqtt_client/mqtt_client.dart'; // import 'package:mqtt_client/mqtt_server_client.dart'; // class MqttService { // late MqttServerClient client; // final String server = '5.75.200.241'; // final int port = 1883; // Future connect(String token) async { // // 1. معادل‌سازی پارامترها // final String clientId = 'nest-' + Random().nextInt(0xFFFFFF).toRadixString(16).padLeft(6, '0'); // final String username = 'ignored'; // final String password = token; // ✨ توکن شما مستقیماً به عنوان پسورد در نظر گرفته می‌شود // // 2. ساخت کلاینت // client = MqttServerClient.withPort(server, clientId, port); // client.logging(on: true); // client.keepAlivePeriod = 60; // client.autoReconnect = false; // معادل reconnectPeriod: 0 // client.setProtocolV311(); // // 3. ساخت پیام اتصال با پارامترهای تعریف شده // final connMessage = MqttConnectMessage() // .withClientIdentifier(clientId) // .startClean() // .authenticateAs(username, password); // ارسال نام کاربری و رمز عبور (توکن) // client.connectionMessage = connMessage; // // 4. تعریف Callbackها و اتصال // client.onConnected = () { // print('✅ MQTT Connected'); // client.updates!.listen((List> c) { // final MqttPublishMessage recMess = c[0].payload as MqttPublishMessage; // final String payload = // MqttPublishPayload.bytesToStringAsString(recMess.payload.message); // print('Received message: "$payload" from topic: ${c[0].topic}'); // }); // client.subscribe('test/topic', MqttQos.atLeastOnce); // }; // client.onDisconnected = () { // print('❌ MQTT Disconnected'); // }; // client.onSubscribed = (String topic) { // print('✅ Subscribed to $topic'); // }; // try { // await client.connect(); // } catch (e) { // print('Exception: $e'); // client.disconnect(); // } // } // }