Table of Contents

Class MqttClientOptionsBuilder

Namespace
MQTTnet.Client
Assembly
MQTTnet.dll
public sealed class MqttClientOptionsBuilder
Inheritance
MqttClientOptionsBuilder
Inherited Members

Constructors

MqttClientOptionsBuilder()

public MqttClientOptionsBuilder()

Methods

Build()

public MqttClientOptions Build()

Returns

MqttClientOptions

WithAddressFamily(AddressFamily)

public MqttClientOptionsBuilder WithAddressFamily(AddressFamily addressFamily)

Parameters

addressFamily AddressFamily

Returns

MqttClientOptionsBuilder

WithAuthentication(string, byte[])

public MqttClientOptionsBuilder WithAuthentication(string method, byte[] data)

Parameters

method string
data byte[]

Returns

MqttClientOptionsBuilder

WithCleanSession(bool)

Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart".

public MqttClientOptionsBuilder WithCleanSession(bool value = true)

Parameters

value bool

Returns

MqttClientOptionsBuilder

WithCleanStart(bool)

Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession".

public MqttClientOptionsBuilder WithCleanStart(bool value = true)

Parameters

value bool

Returns

MqttClientOptionsBuilder

WithClientId(string)

public MqttClientOptionsBuilder WithClientId(string value)

Parameters

value string

Returns

MqttClientOptionsBuilder

WithConnectionUri(string)

public MqttClientOptionsBuilder WithConnectionUri(string uri)

Parameters

uri string

Returns

MqttClientOptionsBuilder

WithConnectionUri(Uri)

public MqttClientOptionsBuilder WithConnectionUri(Uri uri)

Parameters

uri Uri

Returns

MqttClientOptionsBuilder

WithCredentials(IMqttClientCredentialsProvider)

public MqttClientOptionsBuilder WithCredentials(IMqttClientCredentialsProvider credentials)

Parameters

credentials IMqttClientCredentialsProvider

Returns

MqttClientOptionsBuilder

WithCredentials(string, byte[])

public MqttClientOptionsBuilder WithCredentials(string username, byte[] password = null)

Parameters

username string
password byte[]

Returns

MqttClientOptionsBuilder

WithCredentials(string, string)

public MqttClientOptionsBuilder WithCredentials(string username, string password)

Parameters

username string
password string

Returns

MqttClientOptionsBuilder

WithEndPoint(EndPoint)

public MqttClientOptionsBuilder WithEndPoint(EndPoint endPoint)

Parameters

endPoint EndPoint

Returns

MqttClientOptionsBuilder

WithExtendedAuthenticationExchangeHandler(IMqttExtendedAuthenticationExchangeHandler)

public MqttClientOptionsBuilder WithExtendedAuthenticationExchangeHandler(IMqttExtendedAuthenticationExchangeHandler handler)

Parameters

handler IMqttExtendedAuthenticationExchangeHandler

Returns

MqttClientOptionsBuilder

WithKeepAlivePeriod(TimeSpan)

public MqttClientOptionsBuilder WithKeepAlivePeriod(TimeSpan value)

Parameters

value TimeSpan

Returns

MqttClientOptionsBuilder

WithMaximumPacketSize(uint)

public MqttClientOptionsBuilder WithMaximumPacketSize(uint maximumPacketSize)

Parameters

maximumPacketSize uint

Returns

MqttClientOptionsBuilder

WithNoKeepAlive()

public MqttClientOptionsBuilder WithNoKeepAlive()

Returns

MqttClientOptionsBuilder

WithProtocolType(ProtocolType)

public MqttClientOptionsBuilder WithProtocolType(ProtocolType protocolType)

Parameters

protocolType ProtocolType

Returns

MqttClientOptionsBuilder

WithProtocolVersion(MqttProtocolVersion)

public MqttClientOptionsBuilder WithProtocolVersion(MqttProtocolVersion value)

Parameters

value MqttProtocolVersion

Returns

MqttClientOptionsBuilder

WithProxy(Action<MqttClientWebSocketProxyOptions>)

[Obsolete("Use WithWebSocketServer(... configure) instead.")]
public MqttClientOptionsBuilder WithProxy(Action<MqttClientWebSocketProxyOptions> optionsBuilder)

Parameters

optionsBuilder Action<MqttClientWebSocketProxyOptions>

Returns

MqttClientOptionsBuilder

WithProxy(string, string, string, string, bool, string[])

[Obsolete("Use WithWebSocketServer(... configure) instead.")]
public MqttClientOptionsBuilder WithProxy(string address, string username = null, string password = null, string domain = null, bool bypassOnLocal = false, string[] bypassList = null)

Parameters

address string
username string
password string
domain string
bypassOnLocal bool
bypassList string[]

Returns

MqttClientOptionsBuilder

WithReceiveMaximum(ushort)

public MqttClientOptionsBuilder WithReceiveMaximum(ushort receiveMaximum)

Parameters

receiveMaximum ushort

Returns

MqttClientOptionsBuilder

WithRequestProblemInformation(bool)

public MqttClientOptionsBuilder WithRequestProblemInformation(bool requestProblemInformation = true)

Parameters

requestProblemInformation bool

Returns

MqttClientOptionsBuilder

WithRequestResponseInformation(bool)

public MqttClientOptionsBuilder WithRequestResponseInformation(bool requestResponseInformation = true)

Parameters

requestResponseInformation bool

Returns

MqttClientOptionsBuilder

WithSessionExpiryInterval(uint)

public MqttClientOptionsBuilder WithSessionExpiryInterval(uint sessionExpiryInterval)

Parameters

sessionExpiryInterval uint

Returns

MqttClientOptionsBuilder

WithTcpServer(Action<MqttClientTcpOptions>)

public MqttClientOptionsBuilder WithTcpServer(Action<MqttClientTcpOptions> optionsBuilder)

Parameters

optionsBuilder Action<MqttClientTcpOptions>

Returns

MqttClientOptionsBuilder

WithTcpServer(string, int?, AddressFamily)

public MqttClientOptionsBuilder WithTcpServer(string host, int? port = null, AddressFamily addressFamily = AddressFamily.Unspecified)

Parameters

host string
port int?
addressFamily AddressFamily

Returns

MqttClientOptionsBuilder

WithTimeout(TimeSpan)

Sets the timeout which will be applied at socket level and internal operations. The default value is the same as for sockets in .NET in general.

public MqttClientOptionsBuilder WithTimeout(TimeSpan value)

Parameters

value TimeSpan

Returns

MqttClientOptionsBuilder

WithTls()

[Obsolete("Use WithTlsOptions(... configure) instead.")]
public MqttClientOptionsBuilder WithTls()

Returns

MqttClientOptionsBuilder

WithTls(MqttClientOptionsBuilderTlsParameters)

[Obsolete("Use WithTlsOptions(... configure) instead.")]
public MqttClientOptionsBuilder WithTls(MqttClientOptionsBuilderTlsParameters parameters)

Parameters

parameters MqttClientOptionsBuilderTlsParameters

Returns

MqttClientOptionsBuilder

WithTls(Action<MqttClientOptionsBuilderTlsParameters>)

[Obsolete("Use WithTlsOptions(... configure) instead.")]
public MqttClientOptionsBuilder WithTls(Action<MqttClientOptionsBuilderTlsParameters> optionsBuilder)

Parameters

optionsBuilder Action<MqttClientOptionsBuilderTlsParameters>

Returns

MqttClientOptionsBuilder

WithTlsOptions(MqttClientTlsOptions)

public MqttClientOptionsBuilder WithTlsOptions(MqttClientTlsOptions tlsOptions)

Parameters

tlsOptions MqttClientTlsOptions

Returns

MqttClientOptionsBuilder

WithTlsOptions(Action<MqttClientTlsOptionsBuilder>)

public MqttClientOptionsBuilder WithTlsOptions(Action<MqttClientTlsOptionsBuilder> configure)

Parameters

configure Action<MqttClientTlsOptionsBuilder>

Returns

MqttClientOptionsBuilder

WithTopicAliasMaximum(ushort)

public MqttClientOptionsBuilder WithTopicAliasMaximum(ushort topicAliasMaximum)

Parameters

topicAliasMaximum ushort

Returns

MqttClientOptionsBuilder

WithTryPrivate(bool)

If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary client. If successful, this means that loop detection will be more effective and that retained messages will be propagated correctly. Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect properly.

public MqttClientOptionsBuilder WithTryPrivate(bool tryPrivate = true)

Parameters

tryPrivate bool

Returns

MqttClientOptionsBuilder

WithUserProperty(string, string)

public MqttClientOptionsBuilder WithUserProperty(string name, string value)

Parameters

name string
value string

Returns

MqttClientOptionsBuilder

WithWebSocketServer(Action<MqttClientWebSocketOptionsBuilder>)

public MqttClientOptionsBuilder WithWebSocketServer(Action<MqttClientWebSocketOptionsBuilder> configure)

Parameters

configure Action<MqttClientWebSocketOptionsBuilder>

Returns

MqttClientOptionsBuilder

WithWebSocketServer(Action<MqttClientWebSocketOptions>)

[Obsolete("Use WithWebSocketServer(... configure) instead.")]
public MqttClientOptionsBuilder WithWebSocketServer(Action<MqttClientWebSocketOptions> optionsBuilder)

Parameters

optionsBuilder Action<MqttClientWebSocketOptions>

Returns

MqttClientOptionsBuilder

WithWebSocketServer(string, MqttClientOptionsBuilderWebSocketParameters)

[Obsolete("Use WithWebSocketServer(... configure) instead.")]
public MqttClientOptionsBuilder WithWebSocketServer(string uri, MqttClientOptionsBuilderWebSocketParameters parameters = null)

Parameters

uri string
parameters MqttClientOptionsBuilderWebSocketParameters

Returns

MqttClientOptionsBuilder

WithWillContentType(string)

public MqttClientOptionsBuilder WithWillContentType(string willContentType)

Parameters

willContentType string

Returns

MqttClientOptionsBuilder

WithWillCorrelationData(byte[])

public MqttClientOptionsBuilder WithWillCorrelationData(byte[] willCorrelationData)

Parameters

willCorrelationData byte[]

Returns

MqttClientOptionsBuilder

WithWillDelayInterval(uint)

public MqttClientOptionsBuilder WithWillDelayInterval(uint willDelayInterval)

Parameters

willDelayInterval uint

Returns

MqttClientOptionsBuilder

WithWillMessageExpiryInterval(uint)

public MqttClientOptionsBuilder WithWillMessageExpiryInterval(uint willMessageExpiryInterval)

Parameters

willMessageExpiryInterval uint

Returns

MqttClientOptionsBuilder

WithWillPayload(ArraySegment<byte>)

public MqttClientOptionsBuilder WithWillPayload(ArraySegment<byte> willPayload)

Parameters

willPayload ArraySegment<byte>

Returns

MqttClientOptionsBuilder

WithWillPayload(byte[])

public MqttClientOptionsBuilder WithWillPayload(byte[] willPayload)

Parameters

willPayload byte[]

Returns

MqttClientOptionsBuilder

WithWillPayload(string)

public MqttClientOptionsBuilder WithWillPayload(string willPayload)

Parameters

willPayload string

Returns

MqttClientOptionsBuilder

WithWillPayloadFormatIndicator(MqttPayloadFormatIndicator)

public MqttClientOptionsBuilder WithWillPayloadFormatIndicator(MqttPayloadFormatIndicator willPayloadFormatIndicator)

Parameters

willPayloadFormatIndicator MqttPayloadFormatIndicator

Returns

MqttClientOptionsBuilder

WithWillQualityOfServiceLevel(MqttQualityOfServiceLevel)

public MqttClientOptionsBuilder WithWillQualityOfServiceLevel(MqttQualityOfServiceLevel willQualityOfServiceLevel)

Parameters

willQualityOfServiceLevel MqttQualityOfServiceLevel

Returns

MqttClientOptionsBuilder

WithWillResponseTopic(string)

public MqttClientOptionsBuilder WithWillResponseTopic(string willResponseTopic)

Parameters

willResponseTopic string

Returns

MqttClientOptionsBuilder

WithWillRetain(bool)

public MqttClientOptionsBuilder WithWillRetain(bool willRetain = true)

Parameters

willRetain bool

Returns

MqttClientOptionsBuilder

WithWillTopic(string)

public MqttClientOptionsBuilder WithWillTopic(string willTopic)

Parameters

willTopic string

Returns

MqttClientOptionsBuilder

WithWillUserProperty(string, string)

public MqttClientOptionsBuilder WithWillUserProperty(string name, string value)

Parameters

name string
value string

Returns

MqttClientOptionsBuilder

WithoutPacketFragmentation()

Usually the MQTT packets can be send partially. This is done by using multiple TCP packets or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and will close the connection when receiving such packets. If such a service is used this flag must be set to true.

public MqttClientOptionsBuilder WithoutPacketFragmentation()

Returns

MqttClientOptionsBuilder

WithoutThrowOnNonSuccessfulConnectResponse()

The client will not throw an exception when the MQTT server responds with a non success ACK packet. This will become the default behavior in future versions of the library.

public MqttClientOptionsBuilder WithoutThrowOnNonSuccessfulConnectResponse()

Returns

MqttClientOptionsBuilder