30 open-source projects similar to socketio/socket.io-client, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Socket.io Client alternative.
This is a Java library for establishing real-time bidirectional communication with servers using the Socket.IO protocol. It functions as an event-driven communication client that allows Java applications to exchange named events and binary data with a remote server. The library implements both WebSocket and HTTP long-polling transports, providing a fallback mechanism when WebSocket connections are unavailable. It supports namespace-based multiplexing to divide a single physical network connection into multiple logical channels for separating data streams. The project covers a broad range of
Socket.io is a real-time communication engine that enables bidirectional, event-based data exchange between clients and servers. It provides a robust transport-agnostic protocol layer that automatically manages connection lifecycles, including heartbeat signals, automatic reconnection, and seamless fallback between WebSockets and HTTP long-polling. By maintaining persistent links, it ensures reliable messaging across diverse network environments. The project distinguishes itself through a scalable, distributed architecture that supports multi-node synchronization and room-based message routin
This is a Socket.IO client library for Swift, providing an event-driven networking framework for establishing real-time, bidirectional communication between iOS applications and Socket.IO servers. It functions as a tool for maintaining persistent connections and exchanging named data events and binary payloads. The library implements a WebSocket-based transport with an HTTP long-polling fallback to ensure connectivity. It manages a callback-based architecture to handle server notifications and utilizes encrypted communication channels to secure network traffic. The framework covers the excha
go-socket.io is a Go implementation of the Socket.IO protocol used to build real-time, bidirectional, and event-driven communication between servers and clients. It functions as a communication framework that manages persistent connections and maps incoming network packets to specific handler functions to execute application logic. The library enables horizontal scaling of real-time connections through a distributed pub/sub adapter, which synchronizes events across multiple server instances using an external data store. It ensures reliability across different network environments by automatic
Flask-SocketIO is a Flask extension that integrates the Socket.IO real-time communication protocol into Flask applications, enabling persistent bidirectional connections between servers and clients. It transparently switches between WebSocket and HTTP long-polling while maintaining a persistent session identity, and provides a full event-driven framework for real-time web application communication. The library distinguishes itself with support for namespace multiplexing, allowing event handlers to be isolated into separate namespaces with independent lifecycle and routing. It also offers room
sockjs-client is a JavaScript library that provides a WebSocket-compatible API for real-time, bidirectional communication between a web browser and a server. It functions as a transport-layer abstraction that ensures a stable full-duplex connection by emulating socket behavior. The library is distinguished by its automatic protocol-fallback mechanisms. When native WebSockets are unavailable or blocked by restrictive network environments, such as firewalls or proxies, it switches to HTTP-streaming emulation or XHR-polling to maintain connectivity. It covers capabilities for cross-domain data
Baileys is a TypeScript API client library used to interact with the WhatsApp Web API via WebSockets without requiring a browser. It functions as a real-time communication tool that handles bidirectional data exchange and event-based socket connections. The project includes a dedicated toolkit for managing WhatsApp Business profiles and product catalogs, alongside a session manager that authenticates accounts using QR codes or pairing codes and persists session state to disk. Its capabilities cover a wide range of messaging functions, including multi-type message transmission, chat history s
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
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
MagicOnion is a remote procedure call framework for the .NET platform and Unity. It functions as a binary API protocol and real-time communication engine that uses shared interfaces to provide type-safe communication between clients and servers. The framework distinguishes itself through its compatibility with ahead-of-time compilation environments, utilizing source generators for client proxies and serialization to support mobile and console platforms including those using IL2CPP. It provides a specialized middleware layer for Unity that handles engine-specific data types and ensures runtime
This is a minimal WebSocket library for Go designed for bidirectional real-time communication. It serves as a network protocol implementation for managing handshakes, frame masking, and control signals to enable the exchange of text and binary messages over persistent connections. The library distinguishes itself by providing a connectivity layer that wraps browser WebSocket APIs for applications compiled to WebAssembly. It also functions as data compression middleware, utilizing deflate compression to reduce bandwidth usage for transmitted messages. The project covers a broad range of netwo
Engine.io is a real-time transport layer and cross-browser communication engine. It serves as a low-level bidirectional communication library designed to manage the underlying network connections and data exchange required for real-time applications. The library provides a WebSocket transport mechanism that includes automatic fallback to HTTP long-polling when bidirectional protocols are unavailable. It functions as the essential infrastructure for Socket.IO, enabling connection upgrades from standard HTTP handshakes to persistent TCP connections. Its capabilities include heartbeat-based con
This is a header-only C++ library and asynchronous network framework used to implement WebSocket clients and servers. It provides a full implementation of the WebSocket protocol, including handshakes, subprotocol negotiation, and frame parsing. The framework is distinguished by a policy-based transport layer and template-driven protocol negotiation, allowing the underlying network implementation to be swapped between raw buffers, streams, or custom policies. It supports per-message deflate compression to reduce data transmission volume and integrates Transport Layer Security for encrypted bid
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
SignalR is a .NET real-time web framework designed to push content from a server to connected browser and non-browser clients. It provides a server-to-client push framework and a remote procedure call system that enables bidirectional communication over persistent connections. The library utilizes WebSockets to establish full-duplex connections and includes a transport-layer abstraction to manage different network protocols. It employs client-side connection negotiation to determine the best available communication protocol during the initial handshake. The system manages persistent connecti
websockets is a Python library that provides both client and server implementations for the WebSocket protocol, enabling real-time, bidirectional communication between applications. At its core, it offers the fundamental primitives for establishing persistent connections, managing their lifecycles, and exchanging text or binary messages asynchronously using coroutines. The library distinguishes itself through comprehensive support for various messaging patterns, including broadcast messaging to all connected clients, targeted messaging to specific clients, and shared application state synchro
Primus is a real-time communication abstraction layer and middleware framework. It provides a standardized interface for messaging that allows developers to switch between different transport engines without rewriting application logic, while also serving as a wrapper for managing socket lifecycles. The project distinguishes itself by functioning as a real-time client library generator, producing compatible client-side code based on server configurations. It further organizes data flow through virtual stream multiplexing and the ability to group connections into named communication rooms for
Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer
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
PartyKit is a serverless WebSocket backend platform for building real-time multiplayer applications. It provides a globally distributed edge computing runtime that runs stateful server code close to users, with automatic scaling and hibernation for idle rooms. The platform handles WebSocket connections, HTTP requests, and durable storage without requiring infrastructure management, and includes a client and server SDK with hooks, storage, and Yjs integration for building collaborative features. The platform distinguishes itself through per-room isolation using Durable Objects, where each uniq
Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as a production-ready ASGI web server, utilizing a non-blocking event loop to handle concurrent requests and maximize throughput. The framework is built to support scalable architectures, offering built-in worker process management to distribute traffic across available CPU cores. What distinguishes Sanic is its focus on modularity and developer-centric tooling. It features a blueprint-based system for organizing complex applications into pluggable components, alongside a robust
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
SD.Next is an all-in-one web interface and multi-backend inference engine for generating, editing, and processing images and videos using diffusion models. It functions as a comprehensive tool for diffusion model management and an automated image processing pipeline for bulk operations. The project is distinguished by its hardware-backend abstraction layer, which provides automatic detection and acceleration for NVIDIA CUDA, AMD ROCm, Intel OpenVINO, and DirectML. It features a headless generative API and a programmatic command interface, allowing users to trigger tasks via REST API or CLI wi
Beszel is a self-hosted server monitoring platform designed to track real-time performance metrics across multiple host systems and containerized environments. It functions as a centralized dashboard that aggregates data on processor, memory, disk, and network usage, providing visibility into both host-level infrastructure and individual container workloads. The system utilizes lightweight agents to collect performance data, which is then streamed to a central hub and stored in a local relational database. It distinguishes itself through a real-time analytics engine that uses persistent bidir
Gotify is a self-hosted notification server designed to centralize the receipt and dispatch of real-time messages. It provides a RESTful API and a WebSocket gateway, allowing users to programmatically send alerts and push notifications to connected clients. By maintaining a private infrastructure, the platform ensures full control over message history, data retention, and access management. The system distinguishes itself through a modular, plugin-based architecture that allows for the extension of core functionality, including custom HTTP endpoints and webhook event processing. It supports g
This project is an asynchronous library for the Python programming language designed to facilitate the development of automated agents and interactive applications on the Discord platform. It provides a comprehensive framework for building event-driven software that manages real-time communication, server resources, and user interactions through a structured interface. The library utilizes a non-blocking event loop to handle concurrent network operations, allowing developers to maintain persistent bidirectional connections via WebSockets. It features a declarative system for routing text-base
Uvicorn is an ASGI web application host designed for asynchronous Python web development. It serves applications through a standardized asynchronous server gateway interface to handle non-blocking network traffic and high-concurrency requests. The server manages both HTTP and WebSocket traffic, including the handshaking process required to establish persistent, full-duplex communication channels for real-time data exchange. For development workflows, the project includes a hot-reload mechanism that monitors the filesystem for source code changes and automatically restarts the server process.
Citybound is an open-source multiplayer city simulation game and collaborative urban planner. It provides a shared digital space where multiple users co-manage city growth, design infrastructure layouts, and develop urban environments in real time. The project functions as a collaborative city builder, allowing players to plan and evolve a virtual city together. Changes made to the urban environment are reflected immediately for all connected participants within the shared simulation. The system utilizes an entity-component simulation to manage urban behavior and a shared-world coordinate sy
Feathers is a database-agnostic Node.js application framework designed for building scalable backend systems. It functions as a real-time API framework that provides a server implementation for both REST endpoints and WebSocket connections. The framework decouples application logic from the underlying database technology and communication protocols. This allows a single service to handle both HTTP and Socket requests while separating business logic from the specific data persistence layer. The system organizes data operations through a standardized service-based interface and utilizes hook-b
orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and generates type-safe clients and servers from that single source of truth. It guarantees end-to-end type safety, meaning inputs, outputs, errors, and streaming data are all checked at compile time across the client–server boundary. What distinguishes orpc from typical RPC frameworks is its ability to export contracts as OpenAPI specifications, to optimize server-side rendering by calling API handlers directly inside the server process, and to support real‑time bidirectional commu