30 open-source projects similar to boostorg/asio, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Asio alternative.
uWebSockets is a high-performance networking engine providing an HTTP web server and a WebSocket server framework. It implements a multi-threaded event loop architecture to deploy isolated application instances across multiple CPU cores and includes an SSL/TLS network layer for secure, encrypted communication. The project features a dedicated WebSocket pub/sub engine for distributing messages to specific groups of connected clients. It optimizes network throughput through syscall corking to reduce kernel overhead and employs payload compression to minimize data transfer sizes. The system cov
Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an asynchronous networking framework designed to compose non-blocking I/O operations and layered stream stacks for managing concurrent network traffic, specifically utilizing the Boost.Asio asynchronous model. The library provides a comprehensive implementation of the HTTP/1.1 and WebSocket protocols. For HTTP, it includes primitives for parsing and serializing messages with support for chunked transfer encoding, incremental body reading, and request pipelining. Its WebSocket implementati
C++ peer to peer library, built on the top of boost
RakNet is a cross platform, open source, C++ networking engine for game programmers.
Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++ applications.
C++ library for creating an embedded Rest HTTP server (and more)
http-parser is a C-based library for extracting request and response metadata from raw HTTP data streams. It utilizes a state-machine approach to identify message segments and boundaries. The project implements zero-copy string parsing and pointer-based URL deconstruction to avoid memory allocations and data duplication. It supports incremental stream processing to handle fragmented data chunks and includes mechanisms for decoding chunked encoding and managing network protocol upgrades.
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.
A high-performance, lightweight, and cross-platform QUIC library
Web Serving and Remote Procedure Calls at 50x lower latency and 70x higher bandwidth than FastAPI, implementing JSON-RPC & REST over io_uring ☎️
:hocho: Strictly RFC 3986 compliant URI parsing and handling library written in C99; moved from SourceForge to GitHub
WHATWG-compliant and fast URL parser written in modern C++, part of Internet Archive, Node.js, Clickhouse, Redpanda, Kong, Telegram, Adguard, Datadog and Cloudflare Workers.
Asio is a C++ library for performing network and low-level I/O operations using a consistent asynchronous model that avoids blocking program execution. It provides a portable, cross-platform interface for network socket communication across different operating systems, and manages multiple asynchronous operations without requiring explicit thread management or locking. The library implements a proactor-based asynchronous model where operations post completion handlers to a queue for later execution, and wraps operating system I/O multiplexing mechanisms like epoll, kqueue, IOCP, and select in
Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library
h2o is a high-performance content delivery server and HTTP/3 web server. It functions as a network gateway and reverse proxy that forwards client requests to upstream servers to manage traffic flow and load. The project distinguishes itself as a protocol fuzzing tool, utilizing a testing framework to execute automated stress tests against network protocols to identify memory leaks and crashes. The server provides capabilities for secure web traffic management through encrypted data transmission and high-performance web serving across HTTP/1, HTTP/2, and HTTP/3. It includes tools for server r
The C++ REST SDK is a library for asynchronous HTTP and RESTful communication in native C++ applications. It provides a non-blocking network client for sending requests and receiving responses, a JSON parser for serializing and deserializing data, and a WebSocket client library for real-time, full-duplex communication. The project includes a dedicated OAuth2 authentication client to manage access tokens and authorization flows for secure communication with protected cloud resources. It utilizes a task-based asynchronous model to coordinate background operations and keep application interfaces
C++ client for making HTTP/REST requests
evpp is a C++ network library and framework designed for building high-performance network services using TCP, UDP, and HTTP protocols. It provides an asynchronous event loop to manage nonblocking I/O operations and concurrent network connections across multiple threads. The framework includes specialized tools for asynchronous DNS resolution and a system for asynchronous task scheduling using a managed thread pool. It also features a nonblocking HTTP server and client with integrated connection pooling. The project covers low-level transport layer connectivity for TCP and UDP, as well as hi
Redpanda is a distributed event streaming engine designed to serve as a high-performance, drop-in replacement for existing event-driven architectures. It provides a foundation for building and scaling applications that require reliable data movement, analytical querying, and strict operational compliance across both cloud and self-managed environments. The platform distinguishes itself through a shared-nothing architecture that utilizes thread-per-core execution and a non-blocking asynchronous input/output engine to maximize throughput. It maintains data consistency through a consensus-based
Cross-platform, efficient, customizable, and robust asynchronous HTTP(S)/WebSocket server C++ library with the right balance between performance and ease of use
KCP is a low-latency transport protocol and reliability layer designed to provide TCP-like guaranteed delivery and ordering over UDP. It implements an automatic repeat request protocol to minimize network jitter and delays, prioritizing timeliness over bandwidth efficiency. The project distinguishes itself through a pluggable congestion controller and flow control logic, allowing the transport layer to be tuned for specific network environments. It includes a NAT keep-alive system that uses periodic heartbeat packets to maintain active communication paths and prevent address translation timeo
Node-Serialport is a Node.js library that provides cross-platform serial port access for JavaScript applications. It wraps native serial port operations into a stream-based abstraction, enabling consistent read and write behavior across Linux, macOS, and Windows without requiring platform-specific code. The library includes a mock serial port implementation that uses in-memory streams for testing code without physical hardware, and a parser stream pipeline that transforms raw binary data into structured messages using delimiters, line endings, or fixed byte lengths. It also provides command-l
Prompt is a terminal interface management library for Node.js applications that collects, validates, and styles interactive command-line user input. It handles user response collection and input stream controls, allowing developers to build command-line scripts and automation tools that require structured user input. The library supports asynchronous event-driven prompt flows through both callback patterns and modern promises, alongside conditional prompt bypassing driven by command-line arguments, default values, preset overrides, and previous answers. Captured terminal responses can be appe