proxibuy/lib/services/mqtt_service.dart

60 lines
2.2 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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<void> 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<MqttReceivedMessage<MqttMessage>> 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();
// }
// }
// }