Go Socket.IO Framework or GOSF is an easy-to-use framework for developing Socket.IO API's in Google's Go language (GoLang).
Support ongoing development efforts with a transfer to BTC wallet 13pkXi8bW5bKjWewQYtv36CUgwhgQEn7eA
Supports Socket.IO Version 2
An example server to help you get started can be found at github.com/ambelovsky/gosf-sample-app.
For an in-depth look at the API Framework, check us out at gosf.io.
go get -u "github.com/ambelovsky/gosf"
- Socket.IO v2 Support
- Request/Response Acknowledgement-Based Cycle
- Broadcast/Room Support
- Microservices Using Socket.IO
- Plugable Architecture
- App, Client, and Request Contexts
- Standardized Message Format
The following sample will start a server that responds on an "echo" endpoint and return the same message received from the client back to the client.
package main
import (
f "github.com/ambelovsky/gosf"
)
func init() {
// Listen on an endpoint
f.Listen("echo", func(client *f.Client, request *f.Request) *f.Message {
return f.NewSuccessMessage(request.Message.Text)
})
}
func main() {
// Start the server using a basic configuration
f.Startup(map[string]interface{}{
"port": 9999})
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.slim.js"></script>
<script>
var socket = io.connect('ws://localhost:9999', { transports: ['websocket'] });
socket.emit('echo', { text: 'Hello world.' }, function(response) {
console.log(response);
});
</script>
Discover more about GOSF with the complete documentation at gosf.io.
While you're building your API, take some time to build the documentation too! Check out github.com/ambelovsky/go-api-docs for an easy-to-use documentation system built using the slate theme.
Aaron Belovsky is a senior technologist, avid open source contributor, and author of GOSF.
MIT