1 Star 0 Fork 27

陈先乐 / erpc

forked from andeyalee / erpc 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
client.go 918 Bytes
一键复制 编辑 原始数据 按行查看 历史
andeyalee 提交于 2018-12-11 18:21 . refactor: refactor message
package main
import (
tp "github.com/henrylee2cn/teleport"
)
//go:generate go build $GOFILE
func main() {
defer tp.FlushLogger()
cli := tp.NewPeer(
tp.PeerConfig{
PrintDetail: false,
},
new(earlyCall),
)
defer cli.Close()
_, err := cli.Dial(":9090")
if err != nil {
tp.Fatalf("%v", err)
}
}
type earlyCall struct{}
func (e *earlyCall) Name() string {
return "early_call"
}
func (e *earlyCall) PostDial(sess tp.PreSession) *tp.Rerror {
rerr := sess.Send(
"/early/ping",
map[string]string{
"author": "henrylee2cn",
},
nil,
)
if rerr != nil {
return rerr
}
input, rerr := sess.Receive(func(header tp.Header) interface{} {
if header.ServiceMethod() == "/early/pong" {
return new(string)
}
tp.Panicf("Received an unexpected response: %s", header.ServiceMethod())
return nil
})
if rerr != nil {
return rerr
}
tp.Infof("result: %v", input.String())
return nil
}
Go
1
https://gitee.com/chenxianle/erpc.git
git@gitee.com:chenxianle/erpc.git
chenxianle
erpc
erpc
v5.0.0

搜索帮助