30 open-source projects similar to uwebsockets/uwebsockets, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best UWebSockets 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
Cowboy is a high-performance HTTP server for Erlang and OTP. It is designed to handle web traffic with low memory usage and can be used as a standalone server or as an embedded networking library integrated directly into an existing application. The project implements modern transport protocols, including HTTP/3, QUIC, and WebTransport, to enable faster connections and bidirectional data streaming. It also functions as a real-time communication server supporting Server-Sent Events for pushing asynchronous updates to clients. Broad capabilities include path and content-type based request rout
NanoHTTPD is a lightweight, embeddable HTTP server for Java applications. It allows developers to integrate web server capabilities directly into a Java project to handle incoming requests without requiring a standalone installation. The project provides specialized implementations for an HTTPS web server, a WebSocket server for bidirectional real-time communication, and a static file web server. These capabilities enable secure network traffic through SSL certificates and the delivery of local files with automatic MIME type detection. The server includes systems for request routing and hand
This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
libwebsockets is an event-driven networking framework written in C. It provides a suite of tools for implementing HTTP servers and clients, WebSocket bidirectional communication, MQTT client messaging, and TLS-enabled socket encryption. The project distinguishes itself through a non-blocking event-loop architecture capable of scaling to high connection volumes by distributing network sessions across multiple service threads. It uses a protocol-based callback system and a pluggable event loop integration that allows the networking core to synchronize with external system event libraries. The
Highly scalable realtime pub/sub and RPC framework
This project is a cross-platform C library designed for implementing MQTT messaging in applications. It serves as an asynchronous networking toolkit that enables resource-constrained systems and distributed components to exchange telemetry data and control signals with messaging brokers. The library distinguishes itself through a state-machine-based protocol handler that manages connection lifecycles and persistent session states, ensuring reliable message delivery even during intermittent network connectivity. It utilizes a background thread to manage network operations, allowing application
MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code. The library supports multiple network layers, including TCP, TLS, and WebSockets, and allows for custom WebSocket construction and transport injection to handle specific headers or subprotocols. It implements bandwidth reduction through topic aliasing, which replaces repetitive topic str
Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications. The project is distinguished by its standard library monkey-patching tool, which replaces blocking synchronous functions with cooperative versions to enable asynchronous behavior in third-party code. This allows for a cooperative multitasking workflow where the system yields execution during I/O waits t
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t
Spin is a WebAssembly serverless framework and development toolchain for building and running portable microservices. It functions as an event-driven orchestrator and runtime that executes WebAssembly components, allowing developers to map HTTP requests, Redis messages, and cron schedules to specific modules. The project distinguishes itself by implementing a Wasm-based AI inference gateway, enabling components to perform model inference and generate text embeddings. It utilizes the WebAssembly Component Model and WASI for language-agnostic composition and portable host interfacing, while emp
Japronto is an asynchronous web framework and Python HTTP server toolkit. It functions as a multi-worker HTTP server and request router, utilizing non-blocking asynchronous handlers to manage high concurrency and throughput. The project implements a master-multiworker forking model to distribute network traffic across multiple CPU cores. It incorporates a fast event loop and a specialized C-extension for high-speed HTTP request parsing, while supporting request pipelining over single TCP connections. The framework covers a broad range of request handling capabilities, including URL pattern r
Fasthttp is a high-performance networking framework for Go, designed to maximize throughput and minimize memory overhead in demanding web applications. It functions as a specialized HTTP server and client library that prioritizes efficient resource management, allowing developers to build scalable services capable of handling massive concurrent traffic with minimal garbage collection pressure. The library distinguishes itself through a focus on zero-allocation processing and low-level optimization. It achieves this by recycling temporary request and response objects through managed pools and
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
Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes non-blocking coroutines to handle high concurrency and low-latency request processing, providing a foundation for scalable distributed systems. The framework is distinguished by an aspect-oriented programming based dependency injector that enables pluggable components and meta-programming. It includes a coroutine-optimized object-relational mapper with integrated model caching and an orchestration toolkit for microservice governance, featuring service discovery, circuit breaker
aiohttp is an asynchronous networking framework for Python that provides both an HTTP client and an HTTP server. It utilizes the asyncio library to handle network requests and server-side routing through a non-blocking event loop. The framework includes a dedicated toolkit for establishing persistent bidirectional communication channels, enabling the implementation of both WebSocket servers and clients for real-time data exchange. It covers a broad range of asynchronous network programming capabilities, including the development of web servers with customizable routing and the ability to sen
Emitter is a distributed pub-sub platform and message broker that provides real-time data routing between publishers and subscribers across a distributed cluster. It functions as an MQTT message broker for low-power devices and a WebSocket communication server for web-based clients, while acting as a secure channel orchestrator to manage encrypted data streams. The system distinguishes itself through a combination of distributed broker clustering for high availability and a persistence-backed message playback system. This allows the platform to store historical messages and deliver them to su
Hyper is a low-level networking library designed for building high-performance HTTP clients and servers. It provides a foundational toolkit for creating network services that leverage asynchronous execution and memory-safe data handling, supporting both HTTP/1 and HTTP/2 protocols. The library distinguishes itself through a protocol-agnostic architecture that separates transport logic from HTTP semantics. It utilizes a service-trait abstraction to decouple network logic from the underlying transport, enabling developers to inject custom middleware for request interception and response transfo
GCDWebServer is a lightweight HTTP 1.1 server for iOS, macOS, and tvOS. It serves as an embedded network server for Apple platforms, allowing developers to handle incoming requests through custom synchronous or asynchronous handlers. The project includes a WebDAV server implementation for remote file management, directory browsing, and synchronization using standard network clients. It also provides a web-based file manager that enables users to upload, download, and organize files within an application sandbox via a browser. Additional capabilities include gzip compression, JSON processing,
Iron is a Rust web framework used for building concurrent web applications and APIs. It functions as a concurrent HTTP server and provides a stateless route dispatcher to map incoming URL paths and globs to specific handler functions. The project is centered around a middleware-based request pipeline, which allows the request-response cycle to be extended via plugins and modifiers. It utilizes a thread-safe state container to store shared application memory accessible across all concurrent handlers and middleware. The framework covers broad capability areas including dynamic API routing, sta
Drogon is a high-performance C++ HTTP web framework and asynchronous web server designed for building web applications and REST APIs. It utilizes an event-driven, non-blocking architecture to handle concurrent HTTP and WebSocket connections, and it implements a model-view-controller structure to separate business logic from presentation. The framework includes an integrated C++ object-relational mapping system and database client for performing asynchronous operations with relational databases and Redis key-value stores. It supports real-time, full-duplex communication via WebSockets and prov
Oak is a cross-runtime HTTP middleware framework and web server designed to operate across Deno, Node.js, Bun, and Cloudflare Workers. It provides a unified system for building APIs and web servers using a sequential chain of middleware functions and a hierarchical routing engine that maps URL paths to handlers via a nested tree structure. The framework includes a runtime-agnostic serverless adapter that translates diverse cloud provider events into a standard request and response interface. It also features a dedicated WebSocket server implementation for bidirectional real-time communication
This project is an event-driven PHP application server and HTTP server bridge that allows Laravel applications to run on a persistent engine. By keeping the application in memory, it eliminates the boot overhead typically required for every individual request to increase request speeds. The server includes an application state sandbox that isolates the application container between requests to prevent data leakage and state pollution. It also features a shared memory data store for retrieving information across multiple worker processes and provides a WebSocket server implementation for persi
Polka is a minimalist Node.js web framework and HTTP routing engine. It provides a small-footprint server implementation designed for low overhead, mapping URL paths and HTTP methods to specific handler functions. The project utilizes a middleware-based architecture, processing requests through a sequence of functions to handle tasks such as logging, authorization, and data modification. It allows for the organization of these functions into global and path-filtered groups to control execution order. The framework covers core web capabilities including route parameter extraction, request URL
This project is a software engineering educational resource providing a collection of canonical system implementations. It serves as a library of computer science case studies and polyglot code examples designed to demonstrate architectural tradeoffs and design patterns through concise versions of fundamental software components. The repository focuses on studying the implementation of core concepts such as consensus algorithms, interpreters, and database engines. It provides minimal versions of complex systems to facilitate the analysis of language design, data structure implementation, and
Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated
Channels is an extension for the Django web framework that adds native support for WebSockets, background tasks, and long-running connections alongside standard HTTP requests. It provides a channel layer abstraction for passing messages between different parts of a Django application across processes, along with a protocol router that inspects incoming connections and dispatches them to the correct handler for HTTP, WebSocket, or custom protocols. The project introduces an async consumer abstraction that wraps protocol-specific handling into a single callable, and a background worker pool tha
TinyWebServer is a lightweight HTTP web server written in C++ for Linux. It is designed to handle HTTP requests and serve static content using low-level Linux system calls for network connection management. The server utilizes a state machine to parse GET and POST data from network sockets. It incorporates a MySQL database connection pool to manage reusable links and reduce the overhead of opening and closing sessions. The project covers static media streaming for images and video files, user authentication workflows for registration and login, and system activity logging via both synchronou