A list of paid, free or open source C++ (C plus plus) networking libraries, plugins and tools including HTTP/HTTPS, peer to peer, DNS, TCP, SSL, UDP, web sockets and more. Sourced under a creative commons. This list will be updated regularly. Email over the URL, if you wish to be included.

C++ networking libraries, plugins and tools

  • ada – WHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT]
  • ACE – An OO Network Programming Toolkit in C++. [?MIT?]
  • Boost.Asio ⚡ – A cross-platform C++ library for network and low-level I/O programming. [Boost] website
  • Boost.Beast ⚡ – HTTP and WebSocket built on Boost.Asio in C++11. [Boost] website
  • Breep – Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)]
  • C++ REST SDK – C++ REST SDK (previously named Casablanca). [Apache2]
  • Restbed – C++11 Asynchronous RESTful framework. [AGPL]
  • Restinio – A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD]
  • c-ares – A C library for asynchronous DNS requests. [MIT]
  • cpp-httplib – A single file C++11 header-only HTTP/HTTPS server library. [MIT]
  • cpp-netlib – A collection of open-source libraries for high level network programming. [Boost]
  • cpp-netlib/uri – URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost]
  • CppServer – Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT]
  • cpr – A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] website
  • curlcpp – An object oriented C++ wrapper for CURL(libcurl). [MIT]
  • DPDK – Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] website
  • Dyad.c – Asynchronous networking for C. [MIT]
  • ENet – Reliable UDP networking library. [MIT] website
  • evpp – C++ high performance networking with TCP/UDP/HTTP protocols. [BSD]
  • H2O – An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT]
  • HTTP Parser ⚡ – A http request/response parser for C. [MIT]
  • KCP – A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
  • libcurl – Multiprotocol file transfer library. [MIT/X derivate license]
  • libhttpserver – C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
  • Libmicrohttpd – GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+]
  • libpcap – A portable C/C++ library for network traffic capture. [BSD] website
  • libquic – A QUIC protocol library extracted from Chromium’s QUIC Implementation. [BSD]
  • librdkafka – Apache Kafka client library for C and C++. [BSD-2-Clause]
  • libwebsockets – A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] website
  • Lithium – Build high performance C++ HTTP servers without being a C++ expert. [MIT]
  • lwIP – A lightweight TCP/IP stack. [Modified BSD]
  • Mongoose – Extremely lightweight webserver. [GPL2]
  • MQTT-C – A portable MQTT C client for embedded systems and PCs alike. [MIT] website
  • mTCP – Highly scalable user-level TCP stack for multicore systems. [Modified BSD]
  • Muduo – A C++ non-blocking network library for multi-threaded server in Linux. [BSD]
  • nghttp2 – HTTP/2 C Library. [MIT] website
  • Onion – HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]
  • PF_RING™ – High-speed packet processing framework. [LGPL-2.1] website
  • PicoHTTPParser – A tiny, primitive, fast HTTP request/response parser. [MIT]
  • POCO ⚡ – C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] website
  • Proxygen – Facebook’s collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]
  • RakNet – A cross platform, open source, C++ networking engine for game programmers. [BSD]
  • restclient-cpp – Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT]
  • Seasocks – Simple, small, C++ embeddable webserver with WebSockets support. [BSD]
  • tlse – Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
  • Tufão – An asynchronous web framework for C++ built on top of Qt. [LGPL2]
  • uriparser – Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause]
  • uWebSockets – µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib]
  • WAFer – A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2]
  • Wangle – A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0]
  • wdt – An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause]
  • WebSocket++ – C++/Boost Asio based websocket client/server library. [BSD]
  • PcapPlusPlus – a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense]
  • ZeroMQ – High-speed, modular asynchronous communication library. [LGPL3/MPL2] website

Tags: c++, open source, c plus plus, c++ tools, c++ plugins, c++ libraries, c plus plus tools, c plus plus plugins, c plus plus libraries, HTTP/HTTPS, peer to peer, DNS, TCP, SSL, UDP, websockets

Image: Unsplash License.

Portions of this text under: MIT license