dart_mqtt 1.0.5 copy "dart_mqtt: ^1.0.5" to clipboard
dart_mqtt: ^1.0.5 copied to clipboard

a mqtt library to easy connect via tcp/ssl,dependence xtransport,developing,not stable.

Quickstart Guide #

tcp #

import 'package:dart_mqtt/dart_mqtt.dart';

void main() async {
  var transport = XTransportTcpClient.from(
    "broker.emqx.io",
    1883,
    log: true,
  );
  var cli = MqttClient(
    transport,
    log: true,
  )
    ..withKeepalive(10)
    ..withClientID("mqttx_test");
  cli.onMqttConack((msg) {
    print("onMqttConack: $msg");
    if (msg.returnCode != MqttConnectReturnCode.connectionAccepted) {
      cli.close();
      return;
    }
    cli.reSub();
  });

  cli.onBeforeReconnect(() async {
    print("reconnecting...");
  });
  cli.start();

  await cli.subscribe(
    "test/topic",
    onMessage: (msg) {
      print(msg);
    },
    futureWaitData: true,
  );
}

Reconnection attributes #

Besides the error and advisory callbacks mentioned above you can also set a few reconnection attributes in the connection options:

  • allowReconnect bool

allowReconnect enables reconnection logic to be used when we encounter a disconnect from the current server. Default is false

  • reconnectWait Duration

reconnectWait sets the time to backoff after attempting to (and failing to) reconnect. Default const Duration(seconds: 2)

  • customReconnectDelayCB Duration Function()?

customReconnectDelayCB is invoked after the library tried every URL in the server list and failed to reconnect. It passes to the user the current number of attempts. This function returns the amount of time the library will sleep before attempting to reconnect again. It is strongly recommended that this value contains some jitter to prevent all connections to attempt reconnecting at the same time.

4
likes
150
pub points
62%
popularity

Publisher

unverified uploader

a mqtt library to easy connect via tcp/ssl,dependence xtransport,developing,not stable.

Repository (GitHub)
View/report issues

Documentation

API reference

License

GPL-3.0 (license)

Dependencies

xtransport

More

Packages that depend on dart_mqtt