vibe-mqtt 0.2.0-alpha.7
A MQTT broker client for D
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
vibe-mqtt
MQTT broker client library written completely in D.
MQTT protocol version supported: 3.1.1
Depends on: vibe.d
Tested on:
Supported MQTT 3.1.1 features:
- [x] QoS0, QoS1 and QoS2 messages handling
- [x] Authentication
- [x] Session state storage (currently in memory only - #20)
- [x] Sending retain messages
- [x] Async API (publish blocks if send queue is full)
- [x] Data agnostic
- [x] Message ordering
- [x] KeepAlive mechanism support (PingReq/PingResp) (#11)
- [x] Auto reconnect to broker (#15)
- [ ] On subscribe topics validation (#17)
- [ ] Last Will and Testament (LWT) (#21)
- [ ] Delivery retry (#14)
- [ ] TLS/SSL (#16)
Pull Requests are welcome, don't be shy ;)
Usage
Example code can be found in the examples
directory.
Publisher
Simple publisher which connects to the MQTT broker and periodically sends a message. Implicitly it connects to 127.0.0.1:1883
auto settings = Settings();
settings.clientId = "test publisher";
auto mqtt = new MqttClient(settings);
mqtt.connect();
auto publisher = runTask(() {
while (mqtt.connected) {
mqtt.publish("chat", "I'm still here!!!");
sleep(2.seconds());
}
});
Subscriber
Simple subscriber which connects to the MQTT broker, subscribes to the topic and outputs each received message. Implicitly it connects to 127.0.0.1:1883
class Subscriber : MqttClient {
this(Settings settings) {
super(settings);
}
override void onPublish(Publish packet) {
super.onPublish(packet);
writeln("chat: ", cast(string)packet.payload);
}
override void onConnAck(ConnAck packet) {
super.onConnAck(packet);
this.subscribe(["chat"]);
}
}
auto settings = Settings();
settings.clientId = "test subscriber";
auto mqtt = new Subscriber(settings);
mqtt.connect();
- Registered by Tomáš Chaloupka
- 0.2.0-alpha.7 released 7 years ago
- tchaloupka/vibe-mqtt
- BSL-1.0
- Copyright © 2015, Tomáš Chaloupka
- Authors:
- Dependencies:
- none
- Versions:
-
1.1.0 2024-Oct-11 1.0.1 2024-Oct-11 1.0.0 2023-Jun-13 1.0.0-alpha.3 2023-Apr-27 1.0.0-alpha.2 2022-Sep-19 - Download Stats:
-
-
6 downloads today
-
26 downloads this week
-
149 downloads this month
-
17133 downloads total
-
- Score:
- 3.1
- Short URL:
- vibe-mqtt.dub.pm