>
Mainly I am interested in when I should choose mosquittopp and
when paho.mqtt.cpp?
I started with the mosquitto library and found it fairly
easy to work with. The error handling has been a bit vague,
but then our security group has wanted some 'interesting'
restrictions placed on communications with a broker, so that
may be part of the issue.
Lately I've used paho, in the same application. I
refactored my implementation to be able to use either library
at run time. They are implemented using slightly different
approaches, but overall the details where not that
significant. I've had a lot more experience with the
mosquitto suite. I have nothing against paho but would suggest
mosquitto based on my experience with it.
Why would I need 2 MQTT clients? The application group
thought that websockets and SOCKS5 support is now a mandatory
requirement.
This is where having to use non-MQTT binary protocol comes
into play. Mosquitto supported SOCKS5, but not websockets and
paho supported websockets but not SOCKS5. Perhaps this has
changed since then.
>- Fast C/C++ bugs fixes and supports.
I struggled with the SOCKS5 setup and just couldn't get it
to work. Thinking perhaps it wasn't something on my end I
reached out to this list. Very quickly Roger Light had agreed
it was a problem and had a fix for me in a short period of
time. [In case of searching emails, SOCKS5 did not work
correctly with TLS connections.] He also issued an official
release with the patch he sent me applied not long after as
well.
I have not had to contact the paho group so can't comment
on that aspect.
> - The project is compiled on AMD and ARM architecture,
used OS: Ubuntu and Debian.
My application is for embedded products running PowerPC
cores, have used it on PCs and ARMS, although to be honest,
I'm pretty sure both code bases are written pretty generic
with no operating or CPU special requirements.
>- stability, robustness.
I found both to be very reliable.
Another reason to go with mosquitto is that it also
contains a broker, which AFAICT paho does not at this
point. I've had to work with several different brokers and
found several issues with some of them. It was very crucial
for me to be able to have very fine control over the broker
setup to minimize the debug surface. Again, this is partly
due to the unusual security requirements.
My one complaint about the paho project is it is so
confusing at first which of the many options to use. Since my
only criteria was the websockets support, the decision was
made for me as only one option had it at the time. From that
perspective I again found mosquitto a better option as it is
very clear what it is and what it contains.
> I have seen there are two directions of development of
this topic by eclipse.
If there is someone here that can answer that I'd be
interested in why this is so. It seems like focusing efforts
on improving one solid code base would be better in the long
run.