Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

mqtt-broker

The MQTT broker server.

Usage

mqtt-broker [OPTIONS]

Options

OptionShortDefaultDescription
--host <HOST>-h0.0.0.0Host address to bind to
--port <PORT>-p1883Port to listen on
--max-clients <N>10000Maximum concurrent connections
--helpPrint help information

Examples

Start with defaults

mqtt-broker

Listens on 0.0.0.0:1883 (all interfaces, standard MQTT port).

Listen on localhost only

mqtt-broker --host 127.0.0.1

Only accepts connections from the local machine.

Custom port

mqtt-broker --port 8883

Useful when running multiple brokers or avoiding privileged ports.

Production settings

mqtt-broker --host 0.0.0.0 --port 1883 --max-clients 50000

With logging

RUST_LOG=info mqtt-broker

Log levels: error, warn, info, debug, trace

Signals

SignalAction
SIGINT (Ctrl+C)Graceful shutdown
SIGTERMGraceful shutdown

During graceful shutdown, the broker:

  1. Stops accepting new connections
  2. Sends DISCONNECT to all clients
  3. Waits for clients to disconnect (up to 30 seconds)
  4. Exits cleanly

Output

╔══════════════════════════════════════════════════════════════╗
║              MQTT Broker v0.1.0 Starting                     ║
╠══════════════════════════════════════════════════════════════╣
║  Protocol: MQTT 3.1.1                                        ║
║  Address:  0.0.0.0:1883                                      ║
╚══════════════════════════════════════════════════════════════╝

2026-01-31T12:00:00Z  INFO mqtt_broker::server: Client connected: sensor-01 (192.168.1.100:54321)
2026-01-31T12:00:05Z  INFO mqtt_broker::server: Client connected: dashboard (192.168.1.101:54322)
2026-01-31T12:00:10Z  INFO mqtt_broker::server: Client disconnected: sensor-01

Exit Codes

CodeMeaning
0Clean shutdown
1Error (binding failed, invalid arguments, etc.)