Go语言JSON-RPC 实战: `net/rpc/jsonrpc` 包的高效使用指南
package main
import (
"context"
"fmt"
"log"
"net/rpc/jsonrpc"
)
func main() {
// 连接到RPC服务器
conn, err := jsonrpc.Dial("tcp", "localhost:5000")
if err != nil {
log.Fatal("dialing:", err)
}
defer conn.Close()
// 调用RPC方法
var result int
err = conn.Call(context.Background(), "Service.Method", "parameter", &result)
if err != nil {
log.Fatal("calling method:", err)
}
fmt.Printf("Result: %d\n", result)
}
这段代码展示了如何使用Go语言的net/rpc/jsonrpc
包创建一个客户端,连接到本地主机的5000端口上的RPC服务器,并调用服务端的Service.Method
方法。这个例子简洁地实现了RPC调用的基本流程,并且使用了上下文(Context)来处理请求的cancel和deadline。
评论已关闭