melody
centrifuge
melody | centrifuge | |
---|---|---|
4 | 13 | |
3,560 | 982 | |
- | 1.9% | |
6.4 | 8.4 | |
16 days ago | 1 day ago | |
Go | Go | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
melody
-
Release v1.2.0 · gobwas/ws - WebSocket library for Go.
I just recently started using melody (https://github.com/olahol/melody), which claims to be like gorilla websockets. I found it pretty quick to understand, but I haven't used it for anything that complicated. Has anyone used both melody and gobwas/ws? I'm mostly interested in ergonomics, not performance.
-
websockets
I recommend https://github.com/olahol/melody It is based on gorilla websocket but abstracts the tedious part. I have used it in my distributed chat side project
-
Gorilla/websocket or Melody?
I'm looking to build a game server that uses web sockets to communicate with clients, I've looked into some of the libraries and the main ones seem to be gorilla websockets and melody.
-
Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use
I like github.com/olahol/melody which is based on gorilla/webscocket very much and use it in some of my projects which do not have too many online connections.
centrifuge
-
Centrifugo v5 - new major release of real-time messaging server written in Go
BTW, 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.
-
Websocket memory usage
There are libraries which provide more advanced APIs for creating real-time applications, for example https://github.com/centrifugal/centrifuge
- Centrifuge - multi-transport real-time messaging library with built-in scalability
-
Elixir or golang which wiil be good for large websocket connections.
Yes, but there are two excelent libs for golang websockets - https://github.com/gobwas/ws - https://github.com/centrifugal/centrifuge
- Millions of Active WebSockets with Node.js
-
Best way for broadcast message un websocket
What https://github.com/centrifugal/centrifuge does:
-
Gorilla/websocket or Melody?
Have you considered https://github.com/centrifugal/centrifuge? It also uses Gorilla WebSocket for WebSocket transport at the moment – but it's hidden inside and may be replaced if needed since Transport interface is pluggable. It's more heavyweight though than both Melody and Gorilla WebSocket but provides much more functionality out-of-the-box.
-
What libraries are missing?
Not a Socket.IO compatible but maybe you will find it useful/interesting: https://github.com/centrifugal/centrifuge
-
Centrifugo v4 released – with own WebSocket emulation layer, optimized client protocol, unified SDK behavior, experimental HTTP/3 and WebTransport support
Thanks! BTW, Centrifugo's core is based on https://github.com/centrifugal/centrifuge Go library - which theoretically can be more flexible and extensible solution for Go developers than Centrifugo server since server dictates some auth/permission/channel/api rules.
-
TCP or websockets for chat server
Hello, +1 to WebSockets. If you need to choose WS library – go with https://github.com/gorilla/websocket or https://github.com/gobwas/ws. You can also look at Centrifugo server (https://centrifugal.dev/, supports WebSocket, SockJS bidi transports, also EventSource, HTTP-streaming, GRPC unidirectional transports and many builtin features) or https://github.com/centrifugal/centrifuge Go library.
What are some alternatives?
go-socket.io - socket.io library for golang, a realtime application framework.
Socket.io - Realtime application framework (Node.JS server)
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
websocket - A fast, well-tested and widely used WebSocket implementation for Go.
Fiber - ⚡️ Express inspired web framework written in Go
Mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
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:
beaver - 💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
rye - A tiny http middleware for Golang with added handlers for common needs.
jetstream - JetStream Utilities
Beego - beego is an open-source, high-performance web framework for the Go programming language.
kcptun - A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC.