The MQTT messages are delivered asynchronously (“push”) through publish subscribe architecture.
MQTT control packet headers are kept as small as possible.
Three QoS for message delivery could be achieved using MQTT
When a MQTT client connects to the MQTT server it can define a topic and a message that needs to be published automatically on that topic when it unexpectedly disconnects
Component supports MQTT 3.1.1 protocol and latest 5.0 protocol.
// Create websocket client and set server options
oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := 'www.esegece.com';
oClient.Port := 15675;
oClient.Options.Parameters := '/ws';
// Create MQTT protocol and assign to websocket client
oMQTT := TsgcWSPClient_MQTT.Create(nil);
oMQTT.Client := oClient;
// MQTT Authentication
oMQTT.Authentication.Enabled := True;
oMQTT.Authentication.Username := 'sgc';
oMQTT.Authentication.Password := 'sgc';
// Handle MQTT methods
oMQTT.OnMQTTConnect := OnMQTTConnectHandler;
oMQTT.OnMQTTDisconnect := OnMQTTDisconnectHandler;
// connect to server
oClient.Active := True;
// Subscribe to channel "myTopic"
oMQTT.Subscribe('myTopic');
// Send a message to all subscribers of channel "myTopic"
oMQTT.Publish('myTopic', 'Text message');
// Send a ping to Server
oMQTT.Ping;