MqttEndpoint

sealed interface MqttEndpoint

Describes how to reach an MQTT broker.

Used as the argument to MqttClient.connect to specify the broker's address and transport. Two transport types are supported, each as a sealed subclass:

  • Tcp — raw TCP socket (optionally with TLS), available on JVM, Android, iOS, macOS, Linux, Windows.

  • WebSocket — binary WebSocket frames, available on all platforms including browser/wasmJs.

Example

// Plain TCP
val tcp = MqttEndpoint.Tcp(host = "broker.example.com", port = 1883)

// TCP with TLS
val tls = MqttEndpoint.Tcp(host = "broker.example.com", port = 8883, tls = true)

// WebSocket (browser)
val ws = MqttEndpoint.WebSocket(url = "wss://broker.example.com/mqtt")

Inheritors

Types

Link copied to clipboard
object Companion
Link copied to clipboard
data class Tcp(val host: String, val port: Int = 1883, val tls: Boolean = false) : MqttEndpoint

TCP socket connection, used by all non-browser targets.

Link copied to clipboard
data class WebSocket(val url: String, val protocols: List<String> = listOf("mqtt")) : MqttEndpoint

WebSocket connection, available on all platforms.