35 lines
584 B
Go
35 lines
584 B
Go
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)
|
|
}
|