awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
googollee avatar

googollee/go-socket.ioArchived

0
View on GitHub↗
5,787 stars·845 forks·Go·14 views

Go Socket.io

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 automatically negotiating transport layers between websockets and long-polling.

The framework provides tools for organizing communication through namespaces and rooms, allowing for logical partitioning and targeted broadcasting to specific subsets of users. It also includes capabilities for connection lifecycle management, session-based context storage, and an asynchronous acknowledgment pattern to track the successful receipt of data packets.

Features

  • Realtime Communication Protocols - Implements the Socket.IO protocol for establishing persistent, bidirectional data exchange between clients and servers.
  • Socket.IO Server Implementations - Implements the Socket.IO protocol in Go to enable real-time bidirectional communication between servers and clients.
  • Bidirectional Streams - Establishes full-duplex message exchange patterns enabling simultaneous streaming between servers and clients over a single connection.
  • Distributed Socket Server Scaling - Scales real-time connections across multiple server instances using a message queue for coordinated broadcasting.
  • Named Event Transmissions - Enables sending and receiving custom named events with arbitrary data payloads between clients and servers in real time.
  • Broadcast Messaging - Sends data to all connected clients or specific subsets of users within a room for simultaneous updates.
  • Namespace-Based Communication - Implements logical partitioning of communication channels into namespaces to isolate traffic and middleware within a single connection.
  • Targeted Client Group Messaging - Sends events to specific subsets of connected clients organized into named rooms.
  • Connection Lifecycle Events - Provides event-driven notifications for connection state transitions such as open, close, and error events.
  • Namespace Multiplexing - Isolates communication channels on a single socket using named namespaces to separate event handlers.
  • Persistent Full-Duplex Connections - Maintains persistent full-duplex links between clients and servers to exchange data continuously without repeated network requests.
  • Room-Based Client Grouping - Organizes connected clients into named rooms to enable targeted broadcasting of messages to specific subsets of users.
  • Real-Time Messaging - Provides a library and protocol for persistent, bidirectional communication between servers and clients.
  • Remote Server Connectivity - Initiates and maintains persistent connections from clients to remote server endpoints via transport layer management.
  • Named Event Dispatchers - Dispatches network events identified by string names to registered listener functions.
  • Distributed Pub-Sub Adapters - Provides a distributed pub/sub adapter to synchronize events across multiple server instances for horizontal scaling.
  • Network Packet Dispatchers - Maps incoming network packets to specific handler functions based on event identifiers to execute application logic.
  • Event-to-Function Mappings - Binds incoming network events to specific executable handler functions to drive server-side application logic.
  • Event-Driven Messaging Systems - Provides an architecture for responding to real-time data streams and user triggers through named events.
  • Real-Time Communication - Enables persistent, bidirectional data streaming between clients and servers for real-time updates.
  • Real-Time Data Streaming - Provides an implementation of the Socket.IO protocol for real-time, bidirectional data streaming between servers and clients.
  • Real-Time Frameworks - Provides a framework for persistent bidirectional communication and live data broadcasting via WebSockets and long-polling.
  • Connection Context Storage - Associates persistent state and metadata with individual network connections for use across multiple event handlers.
  • Transport Negotiators - Automatically negotiates and switches between long-polling and websockets to maintain reliable bidirectional communication.
  • Connection Lifecycle Managers - Tracks active network sockets and manages session durations, including logic for client connections and disconnections.
  • Reliable Transport Management - Coordinates connection setup and data framing to ensure reliable message delivery regardless of the underlying protocol.
  • Connection Addressing - Assigns unique session identifiers and network addresses to connections to facilitate targeted messaging to specific clients.
  • Communication Channel Isolation - Separates network connections into isolated logical channels to partition application logic for different user groups.
  • Client Acknowledgment Callbacks - Implements a bidirectional request-response pattern using unique IDs to track and trigger callbacks upon client receipt.
  • Messaging Systems - Socket.io framework for real-time apps.

Star history

Star history chart for googollee/go-socket.ioStar history chart for googollee/go-socket.io

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Go Socket.io

Similar open-source projects, ranked by how many features they share with Go Socket.io.
  • neuecc/magiconionneuecc avatar

    neuecc/MagicOnion

    4,408View on GitHub↗

    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

    C#
    View on GitHub↗4,408
  • miguelgrinberg/flask-socketiomiguelgrinberg avatar

    miguelgrinberg/Flask-SocketIO

    5,509View on GitHub↗

    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

    Pythonflaskflask-socketiopython
    View on GitHub↗5,509
  • mrniko/netty-socketiomrniko avatar

    mrniko/netty-socketio

    7,021View on GitHub↗

    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

    Javajavanettypolling
    View on GitHub↗7,021
  • socketio/socket.io-clientsocketio avatar

    socketio/socket.io-client

    10,601View on GitHub↗

    Socket.IO Client is a real-time WebSocket client library that establishes persistent bidirectional connections to a server, with automatic fallback to HTTP long-polling when WebSocket connections are unavailable. It provides an event-based bidirectional messaging framework where clients and servers exchange named events with serializable data, supporting acknowledgements and timeouts for reliable communication. The client distinguishes itself through automatic reconnection with exponential backoff, maintaining connection reliability by monitoring health and reconnecting with increasing delays

    browserjavascriptnodejs
    View on GitHub↗10,601
See all 30 alternatives to Go Socket.io→

Frequently asked questions

What does googollee/go-socket.io do?

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.

What are the main features of googollee/go-socket.io?

The main features of googollee/go-socket.io are: Realtime Communication Protocols, Socket.IO Server Implementations, Bidirectional Streams, Distributed Socket Server Scaling, Named Event Transmissions, Broadcast Messaging, Namespace-Based Communication, Targeted Client Group Messaging.

What are some open-source alternatives to googollee/go-socket.io?

Open-source alternatives to googollee/go-socket.io include: neuecc/magiconion — MagicOnion is a remote procedure call framework for the .NET platform and Unity. It functions as a binary API protocol… miguelgrinberg/flask-socketio — Flask-SocketIO is a Flask extension that integrates the Socket.IO real-time communication protocol into Flask… mrniko/netty-socketio — netty-socketio is a Java implementation of a Socket.IO server designed for real-time bidirectional communication… socketio/socket.io-client — Socket.IO Client is a real-time WebSocket client library that establishes persistent bidirectional connections to a… signalr/signalr — SignalR is a .NET real-time web framework designed to push content from a server to connected browser and non-browser… primus/primus — Primus is a real-time communication abstraction layer and middleware framework. It provides a standardized interface…