マイサーバー:rpc呼び出しメソッドはサーバーと同じ実行ルーチンで実行されますか?
func (t *Arith) Multiply(args *Args, reply *int) error {
*reply = args.A * args.B
return nil
}
func main() {
arith := new(Arith)
rpc.Register(arith)
rpc.HandleHTTP()
l, e := net.Listen("tcp", ":1234")
if e != nil {
log.Fatal("listen error:", e)
}
go http.Serve(l, nil)
}
はクライアント:
client.Call("Arith.Multiply", args, &reply)
私はその後、別の中Multiply
実行ルーチンを行くと思いますか? client.Call()
は実際にgo server.SomeFun()
を呼び出しますか?
RPCはまたHTTP要求の一種ですか? – Pao
@haoyuanはい、httpで配信されます。 – OneOfOne