by johnernaut on 2/8/2014, 5:30:55 PM
by zimbatm on 2/8/2014, 7:23:31 PM
I while ago I wrote something similar with a friend for fun. Redis, ServerSentEvents and Go: https://github.com/vivienschilis/eddy/
It's not so well documented but it's practically the same except that it uses ServerSentEvents on the client and has buffers so no message is ever dropped. Each messages contains the payload, a TTL and a channel size. The TTL is used to expire a channel automatically and the channel size can be used for example to create 1-deep channels for updating values like progress.
by jonpaul on 2/8/2014, 8:48:59 PM
Shameless plug, but I also have a Go module named Goatee. However, it's a testing package: https://github.com/jprichardson/goatee-go It's too bad that discoverability of modules in Go sucks.
by pornel on 2/8/2014, 11:46:30 PM
If you're only pushing data realtime to down the client and don't need realtime upload, then consider Server-Sent Events (http://www.w3.org/TR/eventsource/) as an option.
SSE is HTTP-compatible, so for example works on mobile networks that force port 80 to go through "transparent" WebSocket-disconnecting HTTP proxy.
Additionally you get Flash-free polyfills for IE7+ and automatic reconnection on error built into browsers.
by sauerbraten on 2/8/2014, 6:44:01 PM
What a coincidence, I see you use JSON config files: I wrote a tiny package to parse commented JSON files not long ago, maybe it would be a good fit for Goatee?
by rch on 2/8/2014, 7:02:30 PM
Where's the license?
by ukd1 on 2/8/2014, 7:20:18 PM
Why does this have zero tests?
by almosnow on 2/8/2014, 6:29:32 PM
That name almost made me not click on the link...
Hey guys and gals! This is a project I'm undertaking to help myself learn Go - which I think is AWESOME so far. Any suggestions or criticisms would be appreciated. I hope to add more features as time goes on (and possibly swap out the generic WebSocket implementation with go-socketio).