github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/prepare/09_rpc/json/client.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "github.com/qiuhoude/go-web/prepare/09_rpc/moudle" 6 "log" 7 "net/rpc/jsonrpc" 8 ) 9 10 func main() { 11 12 client, err := jsonrpc.Dial("tcp", "127.0.0.1:8000") 13 if err != nil { 14 log.Fatal(err) 15 } 16 ret := 0 17 //调用远程方法 18 //注意第三个参数是指针类型 19 err2 := client.Call("Rect.Area", moudle.Params{50, 100}, &ret) 20 if err2 != nil { 21 log.Fatal(err2) 22 } 23 fmt.Println(ret) 24 err3 := client.Call("Rect.Perimeter", moudle.Params{50, 100}, &ret) 25 if err3 != nil { 26 log.Fatal(err3) 27 } 28 fmt.Println(ret) 29 30 }