MqttServerClient class

Inheritance

Constructors

MqttServerClient(String server, String clientIdentifier, {int maxConnectionAttempts = 3})
Initializes a new instance of the MqttServerClient class using the default Mqtt Port. The server hostname or URL to connect to The client identifier to use to connect with
MqttServerClient.withPort(String server, String clientIdentifier, int port, {int maxConnectionAttempts = 3})
Initializes a new instance of the MqttServerClient class using the supplied Mqtt Port. The server hostname to connect to The client identifier to use to connect with The port to use

Properties

autoReconnect bool
Auto reconnect, the client will auto reconnect if set true.
getter/setter pairinherited
clientEventBus ↔ EventBus?
The event bus
getter/setter pairinherited
clientIdentifier String
Client identifier
getter/setter pairinherited
connectionHandler MqttConnectionHandlerBase?
The Handler that is managing the connection to the remote server.
getter/setter pairinherited
connectionMessage MqttConnectMessage?
The connection message to use to override the default
getter/setter pairinherited
connectionState MqttConnectionState?
Gets the current connection state of the Mqtt Client. Will be removed, use connectionStatus
no setterinherited
connectionStatus MqttClientConnectionStatus?
Gets the current connection status of the Mqtt Client. This is the connection state as above also with the broker return code. Set after every connection attempt.
no setterinherited
connectTimeoutPeriod int
getter/setter pairinherited
disconnectOnNoResponsePeriod int
The period of time to wait if the broker does not respond to a ping request from keep alive processing, in seconds. If this time period is exceeded the client is forcibly disconnected. The default is 0, which disables this functionality. Thi setting has no effect if keep alive is disabled.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
instantiationCorrect bool
Incorrect instantiation protection
getter/setter pairinherited
keepAlive MqttConnectionKeepAlive?
Handles the connection management while idle. Not instantiated if keep alive is disabled.
getter/setter pairinherited
keepAlivePeriod int
Keep alive period, seconds. Keep alive is defaulted to off, this must be set to a valid value to enable keep alive.
getter/setter pairinherited
manuallyAcknowledgeQos1 bool
getter/setter pairinherited
maxConnectionAttempts int
Max connection attempts
final
messagesAwaitingManualAcknowledge int
The number of QOS 1 messages awaiting manual acknowledge.
no setterinherited
onAutoReconnect AutoReconnectCallback?
Auto reconnect callback, if auto reconnect is selected this callback will be called before auto reconnect processing is invoked to allow the user to perform any pre auto reconnect actions.
getter/setter pairinherited
onAutoReconnected AutoReconnectCompleteCallback?
Auto reconnected callback, if auto reconnect is selected this callback will be called after auto reconnect processing is completed to allow the user to perform any post auto reconnect actions.
getter/setter pairinherited
onBadCertificate bool Function(X509Certificate certificate)?
Callback function to handle bad certificate. if true, ignore the error.
getter/setter pair
onConnected ConnectCallback?
Client connect callback, called on successful connect
getter/setter pairinherited
onDisconnected DisconnectCallback?
Client disconnect callback, called on unsolicited disconnect. This will not be called even if set if [autoReconnect} is set,instead AutoReconnectCallback will be called.
getter/setter pairinherited
onSubscribed SubscribeCallback?
On subscribed
getter/setter pairinherited
onSubscribeFail SubscribeFailCallback?
On subscribed fail
getter/setter pairinherited
onUnsubscribed UnsubscribeCallback?
On unsubscribed
getter/setter pairinherited
pongCallback PongCallback?
The ping received callback
getter/setter pairinherited
port int
Port number
getter/setter pairinherited
published Stream<MqttPublishMessage>?
Published message stream. A publish message is added to this stream on completion of the message publishing protocol for a Qos level. Attach listeners only after connect has been called.
no setterinherited
publishingManager PublishingManager?
Handles everything to do with publication management.
getter/setter pairinherited
resubscribeOnAutoReconnect bool
Re subscribe on auto reconnect. Auto reconnect will perform automatic re subscription of existing confirmed subscriptions unless this is set to false. In this case the caller must perform their own re subscriptions manually using unsubscribe, subscribe and resubscribe as needed from the appropriate callbacks.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
secure bool
If set use a secure connection, note TCP only, do not use for secure websockets(wss).
getter/setter pair
securityContext SecurityContext
The security context for secure usage
getter/setter pair
server String
Server name. Note that a server name that is a host name must conform to the name syntax described in RFC952 https://datatracker.ietf.org/doc/html/rfc952
getter/setter pairinherited
socketOptions List<RawSocketOption>
The client supports the setting of both integer and boolean raw socket options as supported by the Dart IO library RawSocketOption class. Please consult the documentation for the above class before using this.
getter/setter pair
subscriptionsManager SubscriptionsManager?
The subscriptions manager responsible for tracking subscriptions.
getter/setter pairinherited
updates Stream<List<MqttReceivedMessage<MqttMessage>>>?
The stream on which all subscribed topic updates are published to
no setterinherited
useAlternateWebSocketImplementation bool
If set use the alternate websocket implementation
getter/setter pair
useWebSocket bool
If set use a websocket connection, otherwise use the default TCP one
getter/setter pair
websocketProtocols List<String>
User definable websocket protocols. Use this for non default websocket protocols only if your broker needs this. There are two defaults in MqttWsConnection class, the multiple protocol is the default. Some brokers will not accept a list and only expect a single protocol identifier, in this case use the single protocol default. You can supply your own list, or to disable this entirely set the protocols to an empty list , i.e [].
no getterinherited
websocketProtocolString List<String>?
getter/setter pairinherited

Methods

acknowledgeQos1Message(MqttPublishMessage message) bool?
Manually acknowledge a received QOS 1 message. Has no effect if manuallyAcknowledgeQos1 is not in force or the message is not awaiting a QOS 1 acknowledge. Returns true if an acknowledgement is sent to the broker.
inherited
checkCredentials(String? username, String? password) → void
Check the username and password validity
inherited
connect([String? username, String? password]) Future<MqttClientConnectionStatus?>
Performs a connect to the message broker with an optional username and password for the purposes of authentication. If a username and password are supplied these will override any previously set in a supplied connection message so if you supply your own connection message and use the authenticateAs method to set these parameters do not set them again here.
override
disconnect() → void
Disconnect from the broker. This is a hard disconnect, a disconnect message is sent to the broker and the client is then reset to its pre-connection state, i.e all subscriptions are deleted, on subsequent reconnection the use must re-subscribe, also the updates change notifier is re-initialised and as such the user must re-listen on this stream.
inherited
disconnectOnNoMessageSent(DisconnectOnNoMessageSent event) → void
Called when the send message function throws exception a ping response expected from the broker has not arrived in the time period specified by disconnectOnNoResponsePeriod.
inherited
disconnectOnNoPingResponse(DisconnectOnNoPingResponse event) → void
Called when the keep alive mechanism has determined that a ping response expected from the broker has not arrived in the time period specified by disconnectOnNoResponsePeriod.
inherited
doAutoReconnect({bool force = false}) → void
Auto reconnect method, used to invoke a manual auto reconnect sequence. If autoReconnect is not set this method does nothing. If the client is not disconnected this method will have no effect unless the force parameter is set to true, otherwise auto reconnect will try indefinitely to reconnect to the broker.
inherited
getConnectMessage(String? username, String? password) MqttConnectMessage
Gets a pre-configured connect message if one has not been supplied by the user. Returns an MqttConnectMessage that can be used to connect to a message broker if the user has not set one.
inherited
getSubscriptionsStatus(String topic) MqttSubscriptionStatus
Gets the current status of a subscription.
inherited
internalDisconnect() → void
Internal disconnect This is always passed to the connection handler to allow the client to close itself down correctly on disconnect.
inherited
logging({required bool on}) → void
Turn on logging, true to start, false to stop
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
publishMessage(String topic, MqttQos qualityOfService, Uint8Buffer data, {bool retain = false}) int
Publishes a message to the message broker. Returns The message identifer assigned to the message. Raises InvalidTopicException if the topic supplied violates the MQTT topic format rules.
inherited
resubscribe() → void
Re subscribe. Unsubscribes all confirmed subscriptions and re subscribes them without sending unsubscribe messages to the broker. If an unsubscribe message to the broker is needed then use unsubscribe followed by subscribe for each subscription. Can be used in auto reconnect processing to force manual re subscription of all existing confirmed subscriptions.
inherited
setProtocolV31() → void
Set the protocol version to V3.1 - default
inherited
setProtocolV311() → void
Set the protocol version to V3.1.1
inherited
subscribe(String topic, MqttQos qosLevel) Subscription?
Initiates a topic subscription request to the connected broker with a strongly typed data processor callback. The topic to subscribe to. The qos level the message was published at. Returns the subscription or null on failure
inherited
toString() String
A string representation of this object.
inherited
unsubscribe(String topic, {dynamic expectAcknowledge = false}) → void
Unsubscribe from a topic. Some brokers(AWS for instance) need to have each un subscription acknowledged, use the expectAcknowledge parameter for this, default is false.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited