go build -o client.bin ./client/main.go
go build -o server.bin ./server/main.go
go build -o proxy.bin main.go
run
client -> server
run server(terminal1): ./server.bin
run client(terminal2): ./client.bin
% ./server.bin
server listening at [::]:50051
Received: world
% ./client.bin
Greeting: Hello world
client -> proxy -> server
run server(terminal1): ./server.bin
run proxy(terminal2): ./proxy.bin
run client(terminal3): ./client.bin -addr 127.0.0.1:50052
% ./server.bin
server listening at [::]:50051
Received: world
% ./proxy.bin
2022/09/04 11:51:44 server listening at [::]:50052
proxy: /helloworld.Greeter/SayHello
% ./client.bin -addr 127.0.0.1:50052
Greeting: Hello world