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