go-mqtt

module
v0.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 27, 2024 License: MIT

README

MQTT for golang

PkgGoDev Actions/Go Go Report Card

Yet another MQTT packages for golang.

This provides three MQTT related packages:

  • packet - MQTT packets encoder/decoder
  • client - MQTT client library
  • server - MQTT broker/server adapter

Client

How to connect with WebSocket

To connect MQTT server with WebSocket, use ws:// scheme for Addr field.

clinet.Connect(client.Param{
    ID:   "wsclient-1234",
    Addr: "ws://localhost:8082/mqtt/over/websocket",
})

This will estimate Origin header to connect to WS server. If you want to specify Origin set Param.Options.WSOrigin option field.

clinet.Connect(client.Param{
    ID:   "wsclient-1234",
    Addr: "ws://localhost:8082/mqtt/over/websocket",
    Options: &client.Options{
        WSOrigin: "http://localhost:80/your/favorite/origin",
        // other fields are copied from client.DefaultOptions
        Version:      4,
        CleanSession: true,
        KeepAlive:    30,
    },
})

When you want to use secure WebSocket, try wss:// scheme and Options.TLSConfig field.

clinet.Connect(client.Param{
    ID:   "wssclient-1234",
    Addr: "wss://localhost:8082/mqtt/over/websocket",
    Options: &client.Options{
        TLSConfig: &tls.Config{
            // your favorite TLS configurations.
        },
    },
}

References

Directories

Path Synopsis
Package client provides MQTT client.
Package client provides MQTT client.
cmd
examples
internal
backoff
Package backoff provides retry backoff algorithm.
Package backoff provides retry backoff algorithm.
waitop
Package waitop provides wait for executing asynchronous operation.
Package waitop provides wait for executing asynchronous operation.
Package itest provides tests which integrate MQTT client and server.
Package itest provides tests which integrate MQTT client and server.
Package mqtopic provides MQTT Topic Name and Filter capability.
Package mqtopic provides MQTT Topic Name and Filter capability.
Package packet provides MQTT packet models.
Package packet provides MQTT packet models.
Package server provides MQTT server.
Package server provides MQTT server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL