Search packages, repositories and app categories

Package detailsv5.1.0

mqtt5_client

A server and browser based MQTT5 client for Dart supporting normal, secure sockets and websockets.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
61.3K
Likes
72
Pub points
150

Install package

flutter pub add mqtt5_client

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Dart package providing an MQTT5 client for building real-time communication in applications across multiple platforms. It supports standard, secure (TLS), and WebSocket connections, enabling reliable messaging between devices and servers. Ideal for IoT, live data feeds, and chat applications, it works seamlessly on Android, iOS, Web, macOS, Windows, and Linux. The client implements the full MQTT 5 protocol, including advanced features like session persistence, enhanced error handling, and custom properties. It is designed for developers needing robust, cross-platform connectivity with minimal setup.

Use cases

  • IoT device communication
  • Real-time dashboards
  • Live chat applications
  • Remote sensor monitoring
  • Push notifications
  • Cross-platform messaging

Key features

  • Supports MQTT 5 protocol
  • Secure TLS and WebSocket connections
  • Session persistence
  • Cross-platform compatibility
  • Custom message properties
  • Error code handling

Suitable for

  • IoT developers
  • Real-time app builders
  • Web and mobile developers
  • Backend services requiring pub/sub
  • Applications needing reliable messaging

Considerations

  • Requires understanding of MQTT protocol
  • May need additional configuration for firewalls
  • WebSocket support depends on server setup
  • Not suitable for non-real-time use cases
  • Limited documentation compared to mature alternatives

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

mqtt5_client

Build Status

A server and browser based MQTT Version 5 client for Dart.

The client is an MQTT Version 5 implementation supporting subscription/publishing at all QOS levels, authentication, keep alive and synchronous connection. The client is designed to take as much MQTT protocol work off the user as possible, connection protocol is handled automatically as are the message exchanges needed to support the different QOS levels and the keep alive mechanism. This allows the user to concentrate on publishing/subscribing and not the details of MQTT itself.

Examples of usage can be found in the examples directory.

The server client supports both normal and secure TCP connections and secure(wss) and non-secure(ws) websocket connections. The browser client supports only secure(wss) and non-secure(ws) websocket connections.

Please read the changelog for details related to specific versions.

This version of the client supports the full MQTT Version 5 message set including the setting and reception of user properties and authentication using the authenticate message. Some aspects of the MQTT version 5 protocol are not yet fully implemented and will be added in future versions. If some particular currently unsupported functionality is needed please raise an issue for it and this will be processed ahead of other functionality.

Omissions from the full MQTT Version 5 specification in this version are as follows :-

  • Parameters received in the connect acknowledge message are not fully acted upon, e.g receive maximum and topic alias maximum values for instance are not enforced.
  • Subscription identifiers and shared subscriptions are not fully supported.
  • Server redirection is not supported.
  • Reason codes are processed only in support of the protocol itself, other than this although received reason codes are made available to the user the client will not necessarily take any action itself.
  • Flow control is not fully supported.

Categories

Dependencies

Dependency list 8 items

Source repository

Projects using this package

No data available yet.