SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go WebSocket Projects
-
Iris
The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
glider
glider is a forward proxy with multiple protocols support, and also a dns/dhcp server with ipset management features(like dnsmasq). (by nadoo)
-
gev
🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
-
beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
-
centrifuge
Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server.
-
gws
simple, fast, reliable websocket server & client, supports running over tcp/kcp/unix domain socket. keywords: ws, proxy, chat, go, golang...
-
bifrost
Cross-platform p2p daemon and library with pluggable transports and WebAssembly support. (by aperturerobotics)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Echo - web framework for Go
Iris is a fast and lightweight web framework for Go that offers a rich set of features and a high-performance engine. PostgreSQL is a powerful and reliable relational database system that supports advanced data types and functions. Together, they can form a solid foundation for building modern web applications.
Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.
What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.
Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.
If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.
Then take a look at this article - https://www.freecodecamp.org/news/million-websockets-and-go-cc58418460bb/ - using external from Go std lib epoll implementation and https://github.com/gobwas/ws lib it's possible to reduce memory usage per connection drastically. Though keep in mind that this approach is not obvious to implement right and you better to go with STD lib.
Are you aware of things like websockets and mercure.rocks?
Project mention: Possible frameworks/languages for a web/mobile application | /r/webdev | 2023-05-29In my experience Go has been relatively approachable for people that are good at PHP. It has a great standard library and a pretty solid ecosystem, though frameworks aren’t as popular in Go. There are some well regarded libraries for things like WebRTC via https://github.com/pion/webrtc WebSicket via https://github.com/nhooyr/websocket
Project mention: Centrifugo v5 - new major release of real-time messaging server written in Go | /r/golang | 2023-06-29BTW, Centrifugo is based on https://github.com/centrifugal/centrifuge Go library which may provide much more control and flexibility for Gophers than a standalone server and can be embedded to any Go app leveraging all Centrifugo client SDKs.
Project mention: gws v1.6.13 release (high-performance websocket server & client ) | /r/golang | 2023-10-15gws v1.6.13 release
So, lately, I have been trying to get some QOL applications from GitHub for Osu! They are applications that seem very safe and many other people are using them with no problem, just me. (The two Github applications here, and here) Whenever I download the one for my system and open the application, it won't open. If I run the program as an administrator nothing, run it in cmd? nothing. The only thing is if I type it into the search bar, the icon pops up in my taskbar but then goes away. I can't figure it out. I don't feel like I should reach out to the developers of these programs because it's happening with multiple different programs not just one. If anyone knows how I could get the programs to open, that would be greatly appreiciated!
Project mention: Bifrost: A peer-to-peer communications engine with pluggable transports | news.ycombinator.com | 2023-10-22Disagree :) Having a `examples/` or `demo/` directory is already good enough, and this repository even has one of those too! https://github.com/aperturerobotics/bifrost/tree/master/exam...
One of the examples seems relatively easy to grasp if you're a web developer, about how to do HTTP forwarding: https://github.com/aperturerobotics/bifrost/blob/master/exam...
Go WebSocket related posts
- WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport
- gws v1.6.13 release (high-performance websocket server & client )
- Centrifugo v5.1.0 released, with new powers for real-time messaging tasks, now with proxy GRPC subscription streams – similar to WebSocketd but over the network
- How to Use Iris and PostgreSQL for Web Development
- Centrifugo v5 - new major release of real-time messaging server written in Go
- Integrating websockets into my current app
- GitHub - ndabAP/ping-pong: Retro game pong written in Go and Websocket as transport
-
A note from our sponsor - SaaSHub
www.saashub.com | 26 Apr 2024
Index
What are some of the best open-source WebSocket projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | Echo | 28,466 |
2 | Iris | 24,857 |
3 | gotty | 18,434 |
4 | Centrifugo | 7,914 |
5 | ws | 5,950 |
6 | goflyway | 4,308 |
7 | Mercure | 3,741 |
8 | melody | 3,547 |
9 | websocket | 3,437 |
10 | gost | 3,381 |
11 | glider | 2,836 |
12 | httpexpect | 2,465 |
13 | go-streams | 1,753 |
14 | gev | 1,696 |
15 | beaver | 1,511 |
16 | centrifuge | 979 |
17 | gws | 966 |
18 | gosumemory | 613 |
19 | neffos | 563 |
20 | bifrost | 515 |
21 | tran | 375 |
22 | microservices | 301 |
23 | dSock | 216 |
Sponsored