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