手记

我编了一个go语言双向 RPC 调用的库:rpc2d

用数据流重定向的方法实现双向 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。



作者:从火星来
链接:https://www.jianshu.com/p/e4ee97fc5921


0人推荐
随时随地看视频
慕课网APP