30 open-source projects similar to knolleary/pubsubclient, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This library is an Arduino-compatible client for the messaging protocol designed for resource-constrained embedded systems. It provides a messaging interface that enables microcontrollers to establish persistent connections with brokers to exchange data and control signals. The library distinguishes itself through a focus on predictable resource usage, utilizing manual memory buffer management and a state-machine approach to handle connection persistence and automatic reconnections. It operates on a stream-oriented network abstraction, allowing it to interface with various hardware transport
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
This project is a Java messaging software development kit designed to facilitate real-time data exchange between applications and message brokers. It functions as an MQTT client library, providing the necessary tools to implement publish-and-subscribe messaging patterns within distributed systems and internet-connected device environments. The library distinguishes itself through its focus on resilient network connectivity and reliable message delivery. It manages persistent connections through internal state machines that handle automatic reconnection and keep-alive heartbeats, ensuring stab
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
This library is an MQTT client implementation designed for resource-constrained embedded systems, specifically targeting ESP8266 microcontrollers. It provides a framework for establishing persistent network connections to exchange data with remote messaging brokers, enabling reliable communication for IoT devices. The library distinguishes itself through its ability to maintain simultaneous connections to multiple independent messaging brokers, facilitating complex data routing across distributed environments. It utilizes a state-machine approach to manage connection lifecycles, including aut
This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an in-depth examination of the runtime, focusing on how the engine manages memory handles, executes asynchronous operations, and implements core module logic. The guide specifically analyzes the integration of native C++ classes and functions into JavaScript and documents the behavior of the libuv event loop. It includes detailed references for optimizing performance by identifying V8 compiler bailouts and profiling execution to improve resource efficiency. The material covers a
MQTTX is a cross-platform MQTT client application designed for testing, debugging, and managing MQTT brokers. It supports both MQTT v3.1.1 and v5.0, enables simultaneous management of multiple broker connections, and provides an interactive chat-style interface for publishing and subscribing with configurable quality of service, payload transformation, and topic visualization. The client can be used as a desktop application, a command-line tool, or a self-hosted web client deployable via Docker. What sets MQTTX apart is its integration of AI-assisted workflows, allowing users to generate MQTT
MQTTnet is a comprehensive MQTT library for .NET that supports both client and broker roles in a single codebase. It provides a full-featured broker implementation capable of hosting a server with access control, message interception, session persistence, and support for mixed MQTT protocol versions. The client side offers robust publish-subscribe communication with automatic reconnection that preserves quality-of-service guarantees, ensuring reliable message delivery across network interruptions. The library distinguishes itself with a plugin-based authentication pipeline for validating clie
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
MQTTnet is a .NET library providing a framework for implementing MQTT clients and brokers. It includes a broker implementation for hosting a central message hub that routes messages between connected clients and a client library for publishing and subscribing to messages. The project supports both TCP and WebSocket transport layers, enabling secure data traffic through transport layer security. It allows for the development of custom middleware to intercept, transform, or validate messages as they pass through a server. Capability areas include distributed message routing, persistent connect
Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an event loop to process TCP, UDP, and Unix domain socket traffic through a low-level asynchronous protocol interface. The project functions as a multi-core network load balancer, distributing connections across multiple CPU cores using round-robin or least-connections strategies. It supports socket reuse, allowing multiple sockets on a single host to bind to the same port. The library covers a broad range of socket management and packet processing capabilities, including multi-pro
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
Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix domain socket connections. It utilizes a non-blocking event loop to monitor file descriptors and trigger callbacks for read and write events, serving as a high-performance socket manager and TCP network poller. The framework optimizes throughput across CPU cores by distributing incoming network connections across multiple pollers. It implements zero-copy networking primitives, using linked buffers and specialized memory management to read and write data while minimizing memory
This is a self-hosted WebSocket server for Laravel applications designed to provide real-time communication and replace third-party managed messaging services. It provides a server-side PHP implementation of the WebSocket standard, enabling full-duplex communication between clients and servers. The project implements a Pusher-compatible protocol to integrate with existing frontend client libraries. It includes a dedicated debug dashboard for monitoring active connections, tracking network traffic, and analyzing real-time server performance. The system supports Laravel event broadcasting and
Mosquitto is an MQTT message broker and IoT messaging server designed to route data between publishers and subscribers. It functions as a centralized network hub that enables lightweight communication between distributed sensors, controllers, and other internet-of-things devices. The project includes an MQTT bridging gateway used to link separate brokers, allowing traffic to be routed and synchronized across different network locations or security zones. It also provides a client implementation for connecting to and interacting with the broker. The system manages topic-based message routing
This is a Python WebSocket client library designed to establish full-duplex, persistent network connections for real-time exchange of text and binary data. It functions as an asynchronous network client and a TCP socket wrapper, managing the complete lifecycle of a connection from the initial handshake to graceful closure. The implementation includes a secure WebSocket client that handles SSL/TLS encryption, certificate verification, and secure handshake protocols. It further distinguishes itself by supporting advanced connectivity options, including proxy routing via HTTP or SOCKS proxies an
FastStream is an asyncio message broker framework for building event-driven applications in Python. It provides a unified interface and a multi-broker messaging abstraction layer that translates generic producer and consumer calls into broker-specific APIs. The framework features a built-in dependency injection container and uses decorators to route messages to asynchronous handler functions. It includes a documentation generator that extracts channel definitions and message formats from code to produce standardized AsyncAPI specifications. The project supports integration with Kafka, Rabbit
Sing-box is a universal proxy platform and multi-protocol proxy core designed for routing traffic to bypass network restrictions. It functions as a network traffic controller and VPN tunneling orchestrator that implements diverse tunneling methods for secure and flexible data routing. The system utilizes a configuration-driven pipeline to define network flow and service behavior through declarative structures. It features a modular transport layer and protocol-agnostic tunneling to encapsulate network protocols, alongside rule-based packet routing and state-based connection tracking to manage
This project serves as a comprehensive tutorial and technical resource for developing network applications in the C programming language. It focuses on the practical application of the Berkeley socket interface, guiding users through the implementation of low-level network protocols and the management of data transmission across both connection-oriented and connectionless streams. The material distinguishes itself by covering the full lifecycle of network communication, from initializing system-level protocol stacks and resolving domain names to managing complex connection behaviors. It provi
Swift NIO is a low-level, event-driven network framework for the Swift language. It serves as an asynchronous network protocol stack and I/O library designed to build high-performance network servers and clients that handle thousands of simultaneous connections. The framework functions as a high-concurrency network engine that dispatches events across multiple CPU cores. It enables the implementation of custom network protocols by processing raw bytes through a sequence of reusable data transformation handlers. The system provides capabilities for non-blocking I/O multiplexing, asynchronous
Practicalnode is a comprehensive educational resource and backend development framework for mastering server-side programming with Node.js. It provides a structured approach to building scalable network services, REST APIs, and real-time applications using asynchronous JavaScript. The project serves as a detailed implementation guide for several core backend patterns, including MongoDB data modeling and the construction of REST API development kits. It emphasizes a specific workflow for Docker containerization and offers a variety of strategies for managing user identity through stateless tok
This is a non-blocking network client for Java applications that provides asynchronous HTTP request capabilities and bidirectional WebSocket connectivity. It leverages a Netty-based architecture to handle high volumes of network input and output. The library utilizes native transport abstractions such as Epoll, KQueue, and io_uring to reduce system latency. It supports HTTP/2 multiplexing to run multiple concurrent request-response streams over a single connection and provides automatic response body decompression for various formats. Core capabilities cover the management of complex network
VidGear is a high-performance Python video processing framework designed for capturing, transcoding, and manipulating video streams. It functions as a multi-protocol video streamer and a WebRTC streaming server, enabling the transfer of video frames over networks using RTSP, RTMP, RTP, and MJPEG protocols. The project distinguishes itself through hardware-accelerated video transcoding and decoding using GPU backends like CUDA to reduce CPU load. It includes a cross-platform screen capture tool and a specialized system for establishing direct peer-to-peer media connections using WebRTC signali
Curio is a Python library for structured concurrency and asynchronous network programming. It serves as a framework for handling thousands of simultaneous TCP connections using non-blocking sockets and high-throughput I/O. The library organizes asynchronous operations into a hierarchy of parent and child coroutines to ensure reliable termination and cleanup of dependent tasks. It provides a toolkit for coordinating these concurrent operations through the use of task groups and timeouts. The framework covers a broad range of concurrency management capabilities, including inter-task communicat
Akka Core is an actor model framework and asynchronous concurrency library used for building scalable and resilient distributed systems. It provides a distributed computing platform and fault tolerant runtime that manages communication and state across networked nodes. The system uses location-transparent messaging and a cluster management system to organize nodes into high-availability architectures. This allows for the creation of elastic clusters that scale resources on demand and coordinate distributed workloads. The platform handles concurrent state management and distributed systems or
NearDrop is a cross-platform file transfer tool and a Google Quick Share client for macOS. It enables the movement of files and documents between Android devices and macOS computers over a local network. The application implements the Google Quick Share protocol to receive files from Android phones on a Mac without using cloud storage. It includes a utility for establishing secure connections between devices via scannable QR codes when automatic discovery fails. The software manages local network data sharing through device discovery and secure pairing mechanisms. It facilitates the transfer
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
Skynet is a distributed game server framework designed for building scalable online game backends. It utilizes distributed actor-based clusters and real-time network communication to manage high-concurrency session coordination across multiple nodes. The framework includes a cluster management orchestrator for coordinating services via cluster-wide messaging and dynamic configuration updates. It features a multi-protocol network gateway supporting TCP, UDP, and WebSockets, alongside a data encoding layer using BSON and Sproto serialization for efficient information transfer between distribute
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
Coost is a concurrent network framework and coroutine scheduler designed for building high-performance TCP, HTTP, and RPC services. It provides a set of tools for handling non-blocking IPv4 and IPv6 communication, integrating SSL encryption and a lightweight execution engine that manages concurrent tasks using shared stacks. The project features a specialized JSON RPC implementation for exchanging structured data over encrypted connections and a high-performance logging system. This logging infrastructure supports topic-based routing, frequency filtering, and automated stack trace capture for