Connecting to an MQTT Broker
with Defaults
Without any options given, the HiveMQClient will search on localhost port 1883 for an unsecured broker.
If you don't have a broker at this location, see the next sections.
using HiveMQtt.Client;
// Connect
var client = new HiveMQClient();
var connectResult = await client.ConnectAsync().ConfigureAwait(false);
With Specific Options
The HiveMQClientOptions class provides a set of options that can be used to configure various aspects of the HiveMQClient.
The easiest way to construct this class is to use HiveMQClientOptionsBuilder.
var options = new HiveMQClientOptionsBuilder()
.WithBroker("candy.x39.eu.hivemq.cloud")
.WithPort(8883)
.WithUseTls(true)
.Build();
var client = new HiveMQClient(options);
var connectResult = await client.ConnectAsync().ConfigureAwait(false);
With Automatic Reconnect
var options = new HiveMQClientOptionsBuilder()
.WithBroker("candy.x39.eu.hivemq.cloud")
.WithAutomaticReconnect(true)
.Build();
var client = new HiveMQClient(options);
var connectResult = await client.ConnectAsync().ConfigureAwait(false);
Using WebSockets
var options = new HiveMQClientOptionsBuilder()
.WithWebSocketServer("ws://broker.hivemq.com:8000/mqtt")
.Build();
var client = new HiveMQClient(options);
var connectResult = await client.ConnectAsync().ConfigureAwait(false);
Using an IP address
Some embedded devices don't have DNS support and can only connect to static IPs. Here's how you can connect:
var options = new HiveMQClientOptionsBuilder()
.WithBroker("10.0.12.222")
.WithPort(8000)
.Build();
var client = new HiveMQClient(options);
var connectResult = await client.ConnectAsync().ConfigureAwait(false);
See Also
- Security Best Practices - Comprehensive security guide
- HiveMQClientOptionsBuilder Reference
- Automatic Reconnect
- How to Set a Last Will & Testament
- Connect with TLS but allow Invalid TLS Certificates
- Securely Connect to a Broker with Basic Authentication Credentials
- Custom Client Certificates
- HiveMQClientOptionsBuilder.cs