30 open-source projects similar to chkr1011/mqttnet, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best MQTTnet alternative.
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
This project provides a technical specification and reference manual for the MQTT 3.1.1 standard, serving as a translated Chinese guide for implementing this lightweight IoT messaging protocol in resource-constrained device networks. The documentation covers the fundamental mechanisms of the publish-subscribe model, including topic-based routing with wildcard filtering, retained message storage, and the configuration of last will and testament messages. It details the protocol's approach to reliability through various quality of service levels, ranging from single-level acknowledgments to exa
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
Faye is a real-time messaging middleware and WebSocket publish-subscribe server. It functions as a communication layer that routes messages between clients and manages channel subscriptions to enable data synchronization across the web. The project provides a cross-domain communication gateway, allowing web clients on different domains to communicate with a central server. It is built as a clustered messaging backend that can share state across multiple instances using external storage to handle high volumes of persistent network connections. Its capability surface includes pub-sub logic for
Easegress is a cloud-native traffic orchestration platform that functions as a multi-protocol API gateway and service mesh proxy. It routes, transforms, and orchestrates HTTP and MQTT traffic through configurable filter chains, providing high availability, security controls, and resilience for backend services. The platform integrates with service discovery systems like Kubernetes, Consul, and Eureka to dynamically route traffic to discovered services with automatic failover and health monitoring. The system distinguishes itself through a pipeline-based filter chain architecture where request
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
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
RocketMQ is a cloud-native distributed messaging platform and streaming engine. It functions as a distributed transactional queue that ensures atomicity between local transactions and message delivery, and serves as an MQTT IoT message broker to bridge lightweight device traffic into high-performance data streams. The system is distinguished by a Kubernetes-native architecture that decouples compute from storage to allow independent scaling of traffic and data retention. It utilizes a tiered storage model to offload older data to remote storage and employs quorum-based replication and automat
uWebSockets is a C++ networking framework that serves as a high-performance WebSocket server library, HTTP web server, and pub-sub messaging system. It provides the infrastructure necessary to handle standard web requests and maintain low-latency, bidirectional connections between clients and servers. The framework is distinguished by its use of template meta-programming for compile-time optimization and zero-copy buffer management to minimize memory latency. It utilizes a backend-agnostic event loop and static route resolution to process network traffic with minimal runtime overhead. The pr
RocketMQ is a distributed messaging and streaming platform designed for building event-driven applications. It serves as middleware to decouple services using publish-subscribe and request-reply patterns, and functions as a transactional messaging system that ensures atomicity by linking message delivery to local transaction outcomes. The platform includes specialized capabilities as a Kubernetes-native message broker for container orchestration environments and an MQTT broker for ingesting event data from mobile applications and hardware terminals. The system covers high-throughput data str
Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events. The system functions as a communication layer that separates network transport from backend business logic. It supports distributed messaging clusters using Redis for coordination of presence and message delivery across multiple server nodes. The project covers channel subscription m
libzmq is a C++ based asynchronous messaging engine and networking core designed for routing non-blocking messages between distributed nodes. It functions as a distributed message queue that implements the ZMTP wire-format framing protocol to standardize how data moves across different network transport layers. The library provides a multi-transport abstraction that allows a single interface to route data across TCP, IPC, and in-process memory. It incorporates a cryptographic layer to encrypt and authenticate transmissions between nodes and employs topology-based messaging patterns, such as p
ihp is a type-safe web framework and full-stack application orchestrator designed for PostgreSQL. It functions as a server-side rendering framework and a type-safe ORM that automatically generates record types from SQL schemas to ensure compile-time query validation. The platform distinguishes itself by verifying routing, database queries, and templates at compile time to prevent runtime crashes. It implements real-time web interfaces using WebSockets for instant data synchronization and employs server-driven hypermedia for partial DOM patching. The framework covers a broad range of integrat
This project is a lightweight MQTT client library for Arduino boards, specifically designed for embedded systems utilizing an Ethernet Shield. It functions as an embedded messaging client that allows hardware devices to publish and subscribe to topics on a remote message broker. The library provides core MQTT integration, including broker connection management and the maintenance of server heartbeats. It supports topic-based message publishing and subscription management, enabling the registration of listeners to trigger functions upon message arrival. The system covers network connection co
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
Pushdeer is a self-hosted push notification service designed to deliver instant alerts to mobile devices and IoT hardware. It functions as a centralized backend for managing and routing custom notifications via a private server. The system is distinguished by its appless push notification capability, which leverages native operating system features to receive alerts without requiring a dedicated client application installed on the handset. For IoT integration, it operates as a messaging gateway using the MQTT protocol to send real-time text and image notifications to smart hardware. The plat
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
Web3.py is a Python library that provides a comprehensive interface for interacting with the Ethereum blockchain. It functions as a JSON-RPC client, allowing applications to connect to blockchain nodes via HTTP, WebSocket, or IPC to read network state and send transactions. The library includes a dedicated smart contract interface that uses Application Binary Interface definitions to deploy contracts and execute on-chain functions. It also features a cryptography toolkit for signing transactions and hashing data with Keccak, alongside utilities for translating Ethereum Name Service domain nam
The Model Context Protocol C# SDK is a library for building clients and servers that implement the Model Context Protocol to integrate AI tools and resources. It provides an AI tool integration framework and a multi-modal content handler to exchange text, images, and binary resources between AI models and external context providers. The SDK utilizes a JSON-RPC communication library to manage bidirectional data exchange. It features a transport-agnostic communication layer that supports standard input and output, HTTP, and in-memory pipes, with specific integration for ASP.NET Core hosting. T
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
netty-socketio is a Java implementation of a Socket.IO server designed for real-time bidirectional communication between clients and servers. It functions as a real-time event engine and WebSocket communication server, utilizing the Netty network framework to manage high-performance socket connections. The project enables distributed socket server scaling by acting as a distributed message broker. It synchronizes client states and broadcasts messages across multiple server nodes through the use of an external data store. The system manages traffic via namespace-based connection routing and r
Model Context Protocol is a standardized framework for connecting large language models to external data sources and executable tools. It enables the creation of a universal interface where servers expose tools, resources, and prompts that can be discovered and utilized by various AI clients. The protocol utilizes a JSON-RPC message system that is transport-agnostic, supporting both standard input/output for local processes and HTTP with server-sent events for remote connections. It emphasizes security and control by delegating model sampling to the client to keep API keys secure from servers
tarpc is a remote procedure call framework for Rust that generates server traits and client stubs for network communication. It provides an asynchronous service interface that allows remote functions to be called as if they were local asynchronous tasks. The framework utilizes a serialized transport layer to move request and response data via TCP sockets, Unix domain sockets, or in-process channels. It includes a request lifecycle interceptor for injecting custom logic to handle authorization, throttling, and load balancing, as well as a distributed request telemetry system that attaches dead
Janus is a WebRTC media gateway that routes real-time audio, video, and data between web browsers and server-side application logic. It functions as a central media relay that manages session negotiation and encryption for multiple browser endpoints. The project utilizes a modular plugin architecture that decouples the core server from specific media logic, allowing developers to implement custom modules for media processing, event handling, and transport protocols. This design enables the server to act as a protocol translation bridge, converting WebRTC streams into legacy formats such as SI
This project provides a TypeScript software development kit for the Model Context Protocol, a standard designed to facilitate bidirectional communication between AI applications and external data sources or tools. It serves as a foundational framework for building both clients and servers, enabling language models to interact with external systems through a unified, decoupled interface. The SDK distinguishes itself by implementing a transport-agnostic connection layer that supports both local standard input-output streams and remote HTTP endpoints. It utilizes a JSON-RPC message bus to manage
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
This is a software development kit for integrating the Model Context Protocol into Java applications. It serves as a framework for building AI servers and communication layers that exchange prompts, resources, and tool definitions between AI clients and servers. The SDK provides a transport-agnostic communication layer, allowing bidirectional data exchange over standard I/O, HTTP, or Server-Sent Events. It includes a generative AI resource manager for exposing structured data and prompt templates, and a standardized interface for implementing protocol clients and servers. The project covers
Blynk is an embedded device framework and IoT cloud connectivity library designed to establish secure, bi-directional communication between microcontrollers and a remote management platform. It provides the core identity of an IoT device management tool, enabling the synchronization of device states, remote hardware control, and the mapping of hardware data to cloud-based interfaces. The project distinguishes itself through a virtual-pin system that decouples cloud communication from physical pins, allowing for hardware-independent data exchange. It also supports advanced architectural offloa
FastMCP is a Python framework designed for building servers that expose functions, resources, and prompts to AI models using the Model Context Protocol. It simplifies the development process by automatically deriving tool metadata, input schemas, and documentation directly from Python function signatures and type hints. The framework provides a unified container for managing these components, allowing developers to build modular applications that integrate seamlessly with AI assistants. The project distinguishes itself through its support for interactive, server-defined user interface compone
PyMySQL is a MySQL database connector and SQL database driver for Python environments. It serves as a client library that enables Python applications to establish network connections and interact with MySQL database servers. The library is a pure Python implementation of the MySQL client-server wire protocol. This design allows for MySQL integration and data management without requiring native C extensions. The project provides capabilities for database connectivity, query execution, and secure access control. It follows the DB-API 2.0 specification to provide a consistent interface for mana