socket.io client for golang
go-socket.io-client
go-socket.io-client is an client implementation of socket.io in golang, which is a realtime application framework.
It is compatible with latest implementation of socket.io in node.js, and supports namespace.
- It is base on googollee/go-socket.io and googollee/go-engine.io
Install
Install the package with:
go get github.com/zhouhui8915/go-socket.io-client
Import it with:
import "github.com/zhouhui8915/go-socket.io-client"
and use socketio_client as the package name inside the code.
Example
Please check the example folder for details.
package main
import ( "bufio" "github.com/zhouhui8915/go-socket.io-client" "log" "os" )
func main() {
opts := &socketio_client.Options{ Transport: "websocket", Query: make(map[string]string), } opts.Query["user"] = "user" opts.Query["pwd"] = "pass" uri := "http://192.168.1.70:9090/socket.io/"
client, err := socketio_client.NewClient(uri, opts) if err != nil { log.Printf("NewClient error:%v\n", err) return }
client.On("error", func() { log.Printf("on error\n") }) client.On("connection", func() { log.Printf("on connect\n") }) client.On("message", func(msg string) { log.Printf("on message:%v\n", msg) }) client.On("disconnection", func() { log.Printf("on disconnect\n") })
reader := bufio.NewReader(os.Stdin) for { data, , := reader.ReadLine() command := string(data) client.Emit("message", command) log.Printf("send message:%v\n", command) } }
License
The 3-clause BSD License - see LICENSE for more details