Socket.io
Socket.IO for Go โ A high-performance, feature-complete implementation supporting Socket.IO v4+. Start your real-time journey today! ๐
Install / Use
/learn @zishang520/Socket.ioREADME
Socket.IO for Golang
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
โ Questions & Support
The Issues section is only for confirmed bugs or feature requests.
For general help or implementation questions:
- Read the documentation
- Ask in Discussions โ Q&A
๐ 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 |
|-------|-----------|-------------|
| <br/>
|
github.com/zishang520/socket.io/v3 | Root module with shared interfaces, types, and base definitions |
Servers
| State | Go Module | Description |
|-------|-----------|-------------|
| <br/>
|
github.com/zishang520/socket.io/servers/engine/v3 | Engine.IO server implementation for low-level transport handling |
| <br/>
|
github.com/zishang520/socket.io/servers/socket/v3 | Socket.IO server implementation built atop the Engine.IO server |
Clients
| State | Go Module | Description |
|-------|-----------|-------------|
| <br/>
|
github.com/zishang520/socket.io/clients/engine/v3 | Engine.IO client implementation |
| <br/>
|
github.com/zishang520/socket.io/clients/socket/v3 | Socket.IO client implementation built atop the Engine.IO client |
Parsers
| State | Go Module | Description |
|-------|-----------|-------------|
| <br/>
|
github.com/zishang520/socket.io/parsers/engine/v3 | Packet parser for Engine.IO protocol |
| <br/>
|
github.com/zishang520/socket.io/parsers/socket/v3 | Packet parser for Socket.IO protocol |
Adapters
| State | Go Module | Description |
|-------|-----------|-------------|
| <br/>
|
github.com/zishang520/socket.io/adapters/adapter/v3 | Base adapter interface for implementing broadcast mechanisms |
| <br/>
|
github.com/zishang520/socket.io/adapters/redis/v3 | Redis-based adapter for broadcasting messages across distributed servers |
๐งพ License
This project is licensed under the MIT License.
Sponsors
CDN acceleration and security protection for this project are sponsored by Tencent EdgeOne.
<p align="left"> <a href="https://edgeone.ai/?from=github" target="_blank"> <img src="https://edgeone.ai/media/34fe3a45-492d-4ea4-ae5d-ea1087ca7b4b.png" alt="Tencent EdgeOne" width="180"> </a> </p>Best Asian CDN, Edge, and Secure Solutions - Tencent EdgeOne
