You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add server-side WebSocket support via libwebsockets, allowing
MQTT-over-WebSocket clients to connect alongside regular TCP clients.
The broker listens on two ports simultaneously (TCP and WebSocket)
with per-client rx/tx buffers bridging the lws push-based callback
model to the broker's pull-based polling model.
- Add BrokerWsCtx per-client context and WebSocket fields to MqttBroker
- Add lws server callback, WS-specific MqttNet read/write/disconnect
- Add BrokerClient_AddWs for WebSocket client initialization
- Add -w <port> CLI option to enable WebSocket listening
- Add local TLS IO callbacks when both WebSocket and TLS are enabled
- Fix wolfSSL/OpenSSL header conflict in net_libwebsockets.c client
- Link libwebsockets for broker when BUILD_WEBSOCKET is enabled
- Add WebSocket test case to broker.test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: AGENTS.md
+39-25Lines changed: 39 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
4
4
5
5
## Overview
6
6
7
-
wolfMQTT is an MQTT client library written in C for embedded systems. It supports MQTT v3.1.1 and v5.0 protocols, MQTT-SN for sensor networks, and integrates with wolfSSL for TLS support.
7
+
wolfMQTT is an MQTT client library written in C for embedded systems (GPLv3). It supports MQTT v3.1.1 and v5.0 protocols, MQTT-SN for sensor networks, a lightweight embedded broker, and integrates with wolfSSL for TLS support.
8
8
9
9
## Build Commands
10
10
@@ -26,6 +26,8 @@ make check # Runs all tests with local mosquitto broker
26
26
./scripts/client.test # Main MQTT client tests (QoS 0-2, TLS)
- Features can be individually disabled: `--disable-broker-retained`, `--disable-broker-will`, `--disable-broker-wildcards`, `--disable-broker-auth`, `--disable-broker-log`
Tests require a local mosquitto broker. The CI uses `bubblewrap` for network isolation.
133
+
Most tests require a local mosquitto broker. The CI uses `bubblewrap` for network isolation. `broker.test` is self-contained (no external broker needed).
0 commit comments