Our great sponsors
-
It can be quite frustrating to write code using ASIO, but it is nothing compared to debugging code using it, which just seems impossible to do in any reasonable way. And the same goes for profiling (maybe coz could help with this, but I didn't know about it the last time I had to do profile an application using ASIO, so I'm not sure).
-
I agree with this, but would add NNg as a good messaging library. It’s the successor to the spiritual successor of ZeroMQ.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
uvw
Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
Have you tried this wrapper? https://github.com/skypjack/uvw
-
If you're using zmq, I recommend using the zmqpp library. It has higher level bindings which are somewhat easy to use and which hide the lower level networking issues.
-
-
libcurl-cxx-std-networking-integration
Demonstration of libcurl integration into C++ 23 standard networking
Shared pointers do have a use case. For example https://github.com/ned14/libcurl-cxx-std-networking-integration is a modern C++ example of integrating curl with ASIO, and there we use shared ptrs because either CURL or ASIO can arbitrarily hold onto resources, and you can't know which, so you just have to reference count and deal with the nested recursion of lifetime.