googollee/go-socket.io — explained in plain English
Analysis updated 2026-06-26
Add real-time push updates to a Go web server so connected browsers receive changes the moment they happen without polling
Build a live group chat feature where messages sent by one user are broadcast to all other connected clients instantly
Use the engineio sub-package independently to handle low-level WebSocket or long-polling transport without the full Socket.IO protocol
Study the library's source code as a reference for understanding how the Socket.IO v1.4 protocol works under the hood
| googollee/go-socket.io | go-pg/pg | ltaoo/wx_channels_download | |
|---|---|---|---|
| Stars | 5,791 | 5,786 | 5,797 |
| Language | Go | Go | Go |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
This repository is archived, use the community fork listed in the README for new projects to receive bug fixes and updates.
go-socket.io is a Go implementation of Socket.IO, a protocol that lets web browsers and servers communicate in real time. Normally, a web page loads and the connection closes. Socket.IO keeps that connection open so the server can push updates to the browser instantly, without the page needing to ask again. This library brings that real-time behavior to servers written in Go, the programming language developed by Google. The README states that this repository is archived and no longer actively maintained. Development has moved to a community fork at a different GitHub organization. If you are starting a new project that needs this library, the README points you to that fork as the recommended alternative. When it was active, the library supported version 1.4 of the Socket.IO client protocol. It included support for rooms (a way to group connected clients so you can message them collectively), namespaces (separate communication channels hosted on the same server connection), and broadcasting messages to multiple clients at once. These three features cover most of the common use cases for real-time web applications, such as chat rooms, live dashboards, and collaborative editing tools. The library also contains a sub-package called engineio, which handles the lower-level transport layer that Socket.IO builds on. That sub-package can be used independently if you want the underlying connection handling without the full Socket.IO protocol on top. Installation followed the standard Go toolchain process. Examples were available in the project repository. A community chat group existed on Telegram for questions. The library is released under the BSD 3-Clause license.
An archived Go library that implements the Socket.IO protocol so your Go server can push real-time updates to web browsers, with support for rooms, namespaces, and broadcasting. Note: development has moved to a community fork.
Mainly Go. The stack also includes Go, Socket.IO, engineio.
Use freely for any purpose including commercial use with attribution, the BSD 3-Clause license requires keeping the copyright notice and does not restrict modification or distribution.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.