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