go语言实现一个简单的grpc
1.服务端代码
package main import ( "fmt" "net" "net/rpc" ) type HelloServer struct { } func (p *HelloServer) Hello(request string, reply *string) error { *reply = fmt.Sprintf("Hello %s", request) return nil } func main() { listen, _ := net.Listen("tcp", ":1234") _ = rpc.RegisterName("HelloServer", &HelloServer{}) accept, _ := listen.Accept() rpc.ServeConn(accept) }2.客户端代码
package main import ( "fmt" "net/rpc" ) func main() { client, err := rpc.Dial("tcp", "localhost:1234") if err != nil { fmt.Println("连接失败", err) return } var reply string err = client.Call("HelloServer.Hello", "张三", &reply) if err != nil { fmt.Println("调用失败", err) return } fmt.Println(reply) }目录结构
发表评论