我编了一个go语言双向 RPC 调用的库:rpc2d
2018-10-17 本文已影响27人
从火星来
用数据流重定向的方法实现双向 RPC 调用,高效的实现从服务器 CALLBACK 客户端 API,基于 "net/rpc" 原生库。
安装: go get gitee.com/rocket049/rpc2d
或者go get github.com/rocket049/rpc2d
提供下列 API 和类型
type ProviderType
type RpcNode
func Accept(l net.Listener, provider interface{}) (*RpcNode, error)
func NewRpcNode(provider interface{}) *RpcNode
func (self *RpcNode) Close()
func (self *RpcNode) Dial(addr string) error
示例
在 test 目录中的 server.go / client.go 演示了如何实现双向调用,以及如何在服务器 API 中 CALLBACK 客户端 API。