编了一个双向 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。

共 0 个回复