- 项目地址:
https://github.com/valyala/gorpc
- 用法:
- server.go:
package main import ( "fmt" "github.com/valyala/gorpc" "time" ) func main() { s := &gorpc.Server{ Addr: ":12345", Handler: func(clientAddr string, request interface{}) interface{} { event := request.(string) fmt.Println("客户端发送事件:" + event) var ret string switch event { case "do:login": timer := time.NewTimer(time.Second * 3) // 计时 3秒 // 模拟异步处理 go func() { <- timer.C fmt.Println("done") }() ret = "login:success" default: ret = "not:allowed" } return ret }, } s.Serve() }
- client.go:
package main import ( "fmt" "github.com/valyala/gorpc" ) func main() { c := &gorpc.Client{ Addr: "127.0.0.1:12345", } c.Start() resp, _ := c.Call("do:login") fmt.Println("服务端返回数据:",resp.(string)) }
- server.go:
文档更新时间: 2021-01-28 18:56 作者:lee