I hate ASIO and I can't be alone.

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • coz

    Coz: Causal Profiling

    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).

  • nng

    nanomsg-next-generation -- light-weight brokerless messaging

    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

  • zmqpp

    0mq 'highlevel' C++ bindings

    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.

  • cpp-httplib

    A C++ header-only HTTP/HTTPS server and client library

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts