C++ Networking

Open-source C++ projects categorized as Networking

Top 23 C++ Networking Projects

  • muduo

    Event-driven network library for multi-threaded Linux server in C++11

  • proxygen

    A collection of C++ HTTP libraries including an easy to use HTTP server.

  • libzmq

    ZeroMQ core engine in C++, implements ZMTP/3.1

  • ZeroTierOne

    A Smart Ethernet Switch for Earth

    Latest mention: Remote access without access to Router? | reddit.com/r/selfhosted | 2020-12-30

    Came across ZeroTier some time ago and it definitely seems promising for this use case. This is the link to it btw.

  • cpprestsdk

    The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

  • websocketpp

    C++ websocket client/server library

    Latest mention: Market Streaming With Polygon and C++ | reddit.com/r/algotrading | 2021-01-11
  • nghttp2

    nghttp2 - HTTP/2 C Library and tools

  • cpr

    C++ Requests: Curl for People, a spiritual port of Python Requests

  • Game-Networking-Resources

    A Curated List of Game Network Programming Resources

    Latest mention: Multiplayer P2P relay profitability - need to hear from experienced teams | reddit.com/r/gamedev | 2021-01-18

    https://github.com/MFatihMAR/Game-Networking-Resources (This is a list maintained by someone else, and it has some amazing things in it, and far more technical leaning than what I maintain).

  • beast

    HTTP and WebSocket built on Boost.Asio in C++11

    Latest mention: Building HTTP Service in C++ (Using Modern Tools) | dev.to | 2020-12-05

    The HTTP service and is mostly based on this particular example from Boost Beast library. I modified it, replacing plaintext responses with json, and adding Boost Log library.

  • wdt

    Warp speed Data Transfer (WDT) is an embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths.

  • evpp

    A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols.

  • cpp-netlib

    The C++ Network Library Project -- cross-platform, standards compliant networking library.

  • silicon

    A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead

  • libquic

    QUIC, a multiplexed stream transport over UDP

  • restbed

    Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.

  • PcapPlusPlus

    PcapPlusPlus is a multiplatform C++ library for capturing, parsing and crafting of network packets. It is designed to be efficient, powerful and easy to use. It provides C++ wrappers for the most popular packet processing engines such as libpcap, WinPcap, DPDK and PF_RING.

  • mongo-cxx-driver

    C++ Driver for MongoDB

  • restinio

    Cross-platform, efficient, customizable, and robust asynchronous HTTP/WebSocket server C++14 library with the right balance between performance and ease of use

  • roc-toolkit

    Real-time audio streaming over the network.

    Latest mention: Hacktoberfest: 69 Beginner-Friendly Projects You Can Contribute To | dev.to | 2020-09-29

    https://github.com/roc-streaming/roc-toolkit Real-time audio streaming over the network.

  • open-builder

    Open "Minecraft-like" game with multiplayer support and Lua scripting support for the both client and server

    Latest mention: Some early gameplay from my voxel game: Wanderers | reddit.com/r/VoxelGameDev | 2020-12-28

    For example, in this Notch article, he discussed using trilinear interpolation to speed up noise evaluation as well as to smooth out rough parts. But I tested, and both of his problems actually came mostly from using too many noise octaves. Minecraft used 16 octaves for each noise channel, and 8 octaves for the blending noise, when just 5-6 and 2-3 would be enough. The rest of the speed problems could be solved by implementing something to skip noise evaluations when they wouldn't matter, at least above/below max/min biome height if not dynamic octave skipping. See this screenshot difference.

  • tufao

    An asynchronous web framework for C++ built on top of Qt

  • seasocks

    Simple, small, C++ embeddable webserver with WebSockets support

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Index

What are some of the best open-source Networking projects in C++? This list will help you:

Project Stars
1 muduo 8,871
2 proxygen 6,994
3 libzmq 6,662
4 ZeroTierOne 6,277
5 cpprestsdk 5,937
6 websocketpp 4,485
7 nghttp2 3,603
8 cpr 3,373
9 Game-Networking-Resources 3,354
10 beast 2,854
11 wdt 2,558
12 evpp 2,522
13 cpp-netlib 1,817
14 silicon 1,705
15 libquic 1,465
16 restbed 1,381
17 PcapPlusPlus 1,277
18 mongo-cxx-driver 777
19 restinio 670
20 roc-toolkit 648
21 open-builder 543
22 tufao 509
23 seasocks 507