【发布时间】:2022-01-20 13:49:14
【问题描述】:
import 'package:mqtt_client/mqtt_client.dart';
import 'package:mqtt_client/mqtt_server_client.dart';
// ignore: camel_case_types
class mqttconnect {
MqttServerClient? client =
MqttServerClient.withPort('192.168.1.147', 'clientId-4ErbOoPajY', 1883);
connect() async {
client?.logging(on: true);
client?.onConnected = onConnected;
client?.onDisconnected = onDisconnected;
try {
await client?.connect();
} catch (e) {
print('Exception: $e');
client!.disconnect();
}
}
// connection succeeded
void onConnected() {
print('Connected');
}
// unconnected
void onDisconnected() {
print('Disconnected');
}
void gonder() {
try {
client?.subscribe("ahmet", MqttQos.atLeastOnce);
const pubTopic = 'ahmet';
final builder = MqttClientPayloadBuilder();
builder.addString('Hello MQTT1');
client?.publishMessage(pubTopic, MqttQos.atLeastOnce, builder.payload!);
} catch (e) {
print(e.toString());
}
}
}
我想用上面的 dart 代码向 mqtt 发送数据。但是“发送”方法不起作用。连接到 Mqtt 后,我想借助另一种方法发送数据。它给了我如下错误。
flutter: mqtt-client::ConnectionException: The connection must be in the Connected state in order to perform this operation.
【问题讨论】: