paho.mqtt.cpp
comms_champion


paho.mqtt.cpp | comms_champion | |
---|---|---|
1 | 4 | |
1,070 | 245 | |
1.1% | 0.8% | |
8.7 | 0.0 | |
1 day ago | almost 3 years ago | |
C++ | CMake | |
GNU General Public License v3.0 or later | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
paho.mqtt.cpp
-
What network messaging library do you recommend?
For me personally, I've been using MQTT alot with Paho MQTT C++
comms_champion
-
C++ Show and Tell - June 2023
I've been developing CommsChampion Ecosystem for about 9 years as my pet project. It's about easy and compile-time configurable implementation of binary communication protocols using C++11 programming language, with main focus on embedded systems (including bare-metal ones).
-
What network messaging library do you recommend?
If this is the case, for the third stage of the application specific protocol handling I recommend CommsChampion Ecosystem.
-
When to use template meta programming ?
I suppose if you develop something that is going to be used in a single project / product without much of a customization, then meta-programming is not really justified. The meta-programming is justified in many cases when you implement some kind of a library, which can be used in multiple independent products, and these uses may require some product specific customizations. For example, I'm developing a solution for implementing binary communication protocols for embedded systems in C++, called CommsChampion Ecosystem. The core component of which is the COMMS library. Every single use of this library requires different customization. Every application may require different polymorphic interface to handle its message objects. I use template meta-programming there to define virtual functions only needed by the application and not adding unnecessary ones. I also use template meta programming to allow customization of the storage data structures and may use different, more optimized code for some.
-
Protocols that use a map/config to coordinate embedded device and host?
I use commschamp. You describe the protocol in an XML format, it only supports C++ though
What are some alternatives?
tcp_pubsub - 📦 TCP based publish-subscribe library for C++ 🌐
Jsonifier - A few classes for extremely fast json parsing/serializing in modern C++. Possibly the fastest json parser in C++. Possibly the fastest json serializer in C++.
GameNetworkingSockets - Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.
seq - The seq library is a collection of original C++14 STL-like containers and related tools
Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport
system-bus-radio - Transmits AM radio on computers without radio transmitting hardware.
ZeroMQ - ZeroMQ core engine in C++, implements ZMTP/3.1
luos_engine - Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
ReductStore - The Fastest Time Series Object Storage for AI Infrastructure
p-net - PROFINET device stack for embedded devices
key-manager - A desktop app for password management and creation, developed using Qt.
SideBySide - SideBySide is a simple application that allows you to put 2 Photos side by side, for whatever reason you need to put two photos side by side, Pressing "F" will allow you to go full screen and move the photos with your mouse just hold and drag, then press "F" again to exit fullscreen

