As alluded to earlier in this chapter, a so-called command and control (C&C) server is essentially a database containing information on individual nodes and their configuration, for use by the nodes themselves and administration tools like the one in the next section.
It also includes an HTTP server, for use with HTTP-based over-the-air (OTA) updates. Since the BMaC system is MQTT-based, this server is also written as an MQTT client:
#include "listener.h" #include <iostream> #include <string> using namespace std; #include <Poco/Util/IniFileConfiguration.h> #include <Poco/AutoPtr.h> #include <Poco/Net/HTTPServer.h> using namespace Poco::Util; using namespace Poco; using namespace Poco::Net; #include "httprequestfactory.h" int main(int argc, char* argv[]) { cout << ...