TKK_E32231115MAULANA/scratch/test_mqtt_standard.dart

39 lines
1.1 KiB
Dart

import 'dart:io';
import 'dart:math';
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';
Future<void> main() async {
print('--- MQTT WS TEST (WITH PREFIX) START ---');
final String clientId = 'mj_test_${Random().nextInt(999)}';
// WAJIB pakai ws:// agar library tidak error
final client = MqttServerClient.withPort('ws://broker.hivemq.com', clientId, 8000);
client.useWebSocket = true;
client.keepAlivePeriod = 60;
client.logging(on: true);
final connMess = MqttConnectMessage()
.withClientIdentifier(clientId)
.startClean()
.withWillQos(MqttQos.atLeastOnce);
client.connectionMessage = connMess;
try {
print('Connecting to ws://broker.hivemq.com:8000...');
await client.connect();
if (client.connectionStatus?.state == MqttConnectionState.connected) {
print('✅✅✅ YES! CONNECTED VIA WEBSOCKET! ✅✅✅');
client.disconnect();
} else {
print('❌ FAILED: State is ${client.connectionStatus?.state}');
}
} catch (e) {
print('❌ EXCEPTION: $e');
}
print('--- TEST END ---');
exit(0);
}