MQTT ready to use
change subscription logic - now keep subscriptions independently from connecting state. No unregisters on disconnect, but resubscriptions on connect. So one-time subscription on app start and just connect() on lost connection - all subscriptions keeps
This commit is contained in:
@@ -64,6 +64,14 @@ int main(int argc, char * argv[]) {
|
||||
PIMQTT::Client cl;
|
||||
cl.setConnectTimeout(2_s);
|
||||
|
||||
cl.subscribe("api/v1/all/bort{A}/f",
|
||||
[](const PIMQTT::MessageConst & msg) { piCout << "1" << msg.topicList() << msg.pathArguments() << msg.body().size(); });
|
||||
cl.subscribe("api/v1/all/task{T}/f",
|
||||
[](const PIMQTT::MessageConst & msg) { piCout << "2" << msg.topicList() << msg.pathArguments() << msg.body().size(); });
|
||||
cl.subscribe("api/v1/all/*/f",
|
||||
[](const PIMQTT::MessageConst & msg) { piCout << "3" << msg.topicList() << msg.pathArguments() << msg.body().size(); });
|
||||
cl.subscribe("api/v1/all2/**",
|
||||
[](const PIMQTT::MessageConst & msg) { piCout << "4" << msg.topicList() << msg.pathArguments() << msg.body().size(); });
|
||||
CONNECTL(&cl, connected, [&cl] {
|
||||
piCout << "connected";
|
||||
// cl.subscribe("api/v1/plugins");
|
||||
@@ -71,18 +79,6 @@ int main(int argc, char * argv[]) {
|
||||
// cl.subscribe("api/v1/*/{taskID}/status");
|
||||
// cl.subscribe("api/v1/bort/list");
|
||||
// cl.subscribe("api/v1/all");
|
||||
cl.subscribe("api/v1/all/bort{A}/f", [](const PIMQTT::MessageConst & msg) {
|
||||
piCout << "1" << msg.topicList() << msg.pathArguments() << msg.body().size();
|
||||
});
|
||||
cl.subscribe("api/v1/all/task{T}/f", [](const PIMQTT::MessageConst & msg) {
|
||||
piCout << "2" << msg.topicList() << msg.pathArguments() << msg.body().size();
|
||||
});
|
||||
cl.subscribe("api/v1/all/*/f", [](const PIMQTT::MessageConst & msg) {
|
||||
piCout << "3" << msg.topicList() << msg.pathArguments() << msg.body().size();
|
||||
});
|
||||
cl.subscribe("api/v1/all2/**", [](const PIMQTT::MessageConst & msg) {
|
||||
piCout << "4" << msg.topicList() << msg.pathArguments() << msg.body().size();
|
||||
});
|
||||
// cl.subscribe("/zigbee2mqtt");
|
||||
// cl.subscribe("/zigbee2mqtt/+/status/");
|
||||
// cl.subscribe("/zigbee2mqtt/*/status/");
|
||||
@@ -103,6 +99,9 @@ int main(int argc, char * argv[]) {
|
||||
|
||||
cl.connect("localhost", "PIP");
|
||||
|
||||
piSleep(6.);
|
||||
cl.unsubscribeAll();
|
||||
|
||||
kbd.enableExitCapture('Q');
|
||||
WAIT_FOR_EXIT
|
||||
|
||||
|
||||
Reference in New Issue
Block a user