From 2f8a4f390055cbe1444929b5f42433f7dcc80102 Mon Sep 17 00:00:00 2001 From: yumaojun03 <719118794@qq.com> Date: Sun, 16 Feb 2025 11:09:03 +0800 Subject: [PATCH] add client --- skills/rpc/hello_world/client/main.go | 33 +++++++++++++++++++++++++++ skills/rpc/hello_world/server/main.go | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/skills/rpc/hello_world/client/main.go b/skills/rpc/hello_world/client/main.go index 06ab7d0..ca49341 100644 --- a/skills/rpc/hello_world/client/main.go +++ b/skills/rpc/hello_world/client/main.go @@ -1 +1,34 @@ package main + +import ( + "fmt" + "net/rpc" +) + +type HelloRequest struct { + MyName string `json:"my_name"` +} + +type HelloResponse struct { + Message string `json:"message"` +} + +func main() { + // 1. 通过网络调用 服务端的函数(RPC) + // 建立网络连接 + conn, err := rpc.Dial("tcp", "127.0.0.1:1234") + if err != nil { + panic(err) + } + // 方法调用 + // serviceMethod string, args any, reply any + req := &HelloRequest{ + MyName: "bob", + } + resp := &HelloResponse{} + if err := conn.Call("HelloService.Hello", req, resp); err != nil { + panic(err) + } + + fmt.Println(resp.Message) +} diff --git a/skills/rpc/hello_world/server/main.go b/skills/rpc/hello_world/server/main.go index 2c07a09..bad0327 100644 --- a/skills/rpc/hello_world/server/main.go +++ b/skills/rpc/hello_world/server/main.go @@ -25,7 +25,7 @@ type HelloResponse struct { // HTTP Handler func (h *HelloServiceImpl) Hello(request *HelloRequest, response *HelloResponse) error { - // *response = "hello:" + request + response.Message = "hello:" + request.MyName return nil }