zishang520
socket.io
Go

Socket.IO for Go β€” A high-performance, feature-complete implementation supporting Socket.IO v4+. Start your real-time journey today! πŸš€

Last updated Jun 28, 2026
537
Stars
43
Forks
5
Issues
+1
Stars/day
Attention Score
62
Language breakdown
No language data available.
β–Έ Files click to expand
README

Socket.IO for Golang

Go Go Reference Go Report Card

A modern, idiomatic Go implementation of Socket.IO, designed for real-time, bidirectional communication over WebSockets and other transports.


⬆️ Upgrade Guide

If you are upgrading from v1 or v2 of this library, please refer to the Upgrade Guide for detailed instructions, including package replacements and migration steps.

πŸš€ Getting Started

Check out the official documentation to get started, including examples, API references, and guides.

Install a specific module:

go get github.com/zishang520/socket.io/servers/socket/v3

Install the PostgreSQL adapter:

go get github.com/zishang520/socket.io/adapters/postgres/v3

Install the Valkey adapter:

go get github.com/zishang520/socket.io/adapters/valkey/v3

Install the MongoDB adapter:

go get github.com/zishang520/socket.io/adapters/mongo/v3

❓ Questions & Support

The Issues section is only for confirmed bugs or feature requests.

For general help or implementation questions:


πŸ”’ Security

If you discover a vulnerability or security issue, do not file a public issue. Instead, please follow the steps in our Security Policy.


πŸ›  Contributing

We welcome contributions of all kinds! To report bugs, suggest features, or submit pull requests:

  • Please read our Contributing Guide for best practices
  • Ensure your changes are well-tested and formatted with make fmt
  • Open an issue or discussion before starting major changes
Thanks to all contributors who make this project better ❀️

πŸ“¦ Modules

This project is a monorepo containing the following Go modules:

Go Modules

Root

| State | Go Module | Description | |-------|-----------|-------------| | Go Reference
Go Report Card | github.com/zishang520/socket.io/v3 | Root module with shared interfaces, types, and base definitions |

Servers

| State | Go Module | Description | |-------|-----------|-------------| | Go Reference
Go Report Card | github.com/zishang520/socket.io/servers/engine/v3 | Engine.IO server implementation for low-level transport handling | | Go Reference
Go Report Card | github.com/zishang520/socket.io/servers/socket/v3 | Socket.IO server implementation built atop the Engine.IO server |

Clients

| State | Go Module | Description | |-------|-----------|-------------| | Go Reference
Go Report Card | github.com/zishang520/socket.io/clients/engine/v3 | Engine.IO client implementation | | Go Reference
Go Report Card | github.com/zishang520/socket.io/clients/socket/v3 | Socket.IO client implementation built atop the Engine.IO client |

Parsers

| State | Go Module | Description | |-------|-----------|-------------| | Go Reference
Go Report Card | github.com/zishang520/socket.io/parsers/engine/v3 | Packet parser for Engine.IO protocol | | Go Reference
Go Report Card | github.com/zishang520/socket.io/parsers/socket/v3 | Packet parser for Socket.IO protocol |

Adapters

| State | Go Module | Description | |-------|-----------|-------------| | Go Reference
Go Report Card | github.com/zishang520/socket.io/adapters/adapter/v3 | Base adapter interface for implementing broadcast mechanisms | | Go Reference
Go Report Card | github.com/zishang520/socket.io/adapters/redis/v3 | Redis-based adapter for broadcasting messages across distributed servers | | Go Reference
Go Report Card | github.com/zishang520/socket.io/adapters/valkey/v3 | Valkey-based adapter for broadcasting messages across distributed servers using Pub/Sub | | Go Reference
Go Report Card | github.com/zishang520/socket.io/adapters/postgres/v3 | PostgreSQL-based adapter for broadcasting messages across distributed servers using LISTEN/NOTIFY | | Go Reference
Go Report Card | github.com/zishang520/socket.io/adapters/mongo/v3 | MongoDB-based adapter for broadcasting messages across distributed servers | | Go Reference
Go Report Card | github.com/zishang520/socket.io/adapters/unix/v3 | Unix Domain Socket-based adapter for broadcasting messages across processes on the same machine |

🧾 License

This project is licensed under the MIT License.

Sponsors

CDN acceleration and security protection for this project are sponsored by Tencent EdgeOne.

Tencent EdgeOne

Best Asian CDN, Edge, and Secure Solutions - Tencent EdgeOne

πŸ”— More in this category

Β© 2026 GitRepoTrend Β· zishang520/socket.io Β· Updated daily from GitHub