Example of MQTT Connection

Team
Utilities Team
Last Updated
July 14, 2026

This page will help you connect to MQTT by giving examples

In C#
1public async Task Connect_Client()
2{
3 try
4 {
5 var ca = X509Certificate.CreateFromCertFile(@"grouplink-ca.crt");
6 var cert = new X509Certificate2(@"certificate-with-encrypted-key.pfx", "");
7
8 X509Chain ch = new X509Chain();
9 ch.ChainPolicy.ExtraStore.Add(ca);
10
11 Debug.WriteLine("If");
12 Debug.WriteLine(cert.Issuer);
13 Debug.WriteLine(cert.IssuerName);
14 Debug.WriteLine(cert.Subject);
15 Debug.WriteLine(cert.SubjectName);
16
17 var mqttFactory = new MqttFactory();
18
19 var mqttClient = mqttFactory.CreateMqttClient();
20
21 var mqttClientOptions = new MqttClientOptionsBuilder()
22 .WithTcpServer("mqtt.grouplinknetwork.com", 8883)
23 .WithTls(new MqttClientOptionsBuilderTlsParameters()
24 {
25 UseTls = true,
26 SslProtocol = System.Security.Authentication.SslProtocols.Tls12,
27 Certificates = new List<X509Certificate2> { cert },
28 CertificateValidationHandler = delegate { return true; }
29 })
30 .WithCleanSession()
31 .Build();
32
33 mqttClient.ApplicationMessageReceivedAsync += e =>
34 {
35 Debug.WriteLine("Received application message.");
36 Debug.WriteLine(e.ApplicationMessage.ConvertPayloadToString());
37 return Task.CompletedTask;
38 };
39
40 var response = await mqttClient.ConnectAsync(mqttClientOptions, CancellationToken.None);
41 var mqttSubscribeOptions = mqttFactory.CreateSubscribeOptionsBuilder()
42 .WithTopicFilter(
43 f =>
44 {
45 f.WithTopic("message/gl-Dataoris");
46 })
47 .Build();
48
49 var res = await mqttClient.SubscribeAsync(mqttSubscribeOptions, CancellationToken.None);
50 Debug.WriteLine("MQTT client subscribed to topic.");
51 }
52 catch (Exception ex)
53 {
54 Debug.WriteLine("Exception");
55 Debug.WriteLine(ex.Message);
56 }
57
58 finally
59 {
60 Debug.WriteLine("Finally");
61 }
62}


In JS
1const mqtt = require("mqtt");
2const fs = require("fs");
3
4const caFile = fs.readFileSync("grouplink-ca.crt");
5const certFile = fs.readFileSync("private.crt");
6const keyFile = fs.readFileSync("private.key");
7
8const options = {
9 protocol: "mqtts",
10 host: "mqtt.grouplinknetwork.com",
11 port: 8883,
12 ca: [caFile],
13 cert: certFile,
14 key: keyFile,
15 rejectUnauthorized: true,
16 clean: false,
17 clientId: "yourOrgName",
18};
19
20const client = mqtt.connect(options);
21const topic = "message/your-org-name";
22console.log("connecting...");
23
24client.on("connect", function () {
25 console.log("connected");
26 client.subscribe(
27 topic,
28 {
29 qos: 1,
30 },
31 function (err) {
32 if (!err) {
33 console.log("subscribed to " + topic);
34 }
35 },
36 );
37});
38
39client.on("disconnect", function () {
40 console.log("disconnected!");
41});
42
43client.on("offline", function () {
44 console.log("offline!");
45});
46
47client.on("error", function (e) {
48 console.log("error: " + JSON.stringify(e));
49 process.exit(1);
50});
51
52client.on("message", function (topic, message) {
53 console.log(message.toString());
54});
55
56