README ¶
gRPC in 3 minutes (Go)
BACKGROUND
For this sample, we've already generated the server and client stubs from helloworld.proto.
PREREQUISITES
- This requires Go 1.6 or later
- Requires that GOPATH is set
$ go help gopath
$ # ensure the PATH contains $GOPATH/bin
$ export PATH=$PATH:$GOPATH/bin
INSTALL
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_client
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_server
TRY IT!
-
Run the server
$ greeter_server &
-
Run the client
$ greeter_client
OPTIONAL - Rebuilding the generated code
-
Install protobuf compiler
-
Install the protoc Go plugin
$ go get -u github.com/golang/protobuf/protoc-gen-go
-
Rebuild the generated Go code
$ go generate google.golang.org/grpc/examples/helloworld/...
Or run
protoc
command (with the grpc plugin)$ protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld
Directories ¶
Path | Synopsis |
---|---|
oauth
|
|
client
The client demonstrates how to supply an OAuth2 token for every RPC.
|
The client demonstrates how to supply an OAuth2 token for every RPC. |
server
The server demonstrates how to consume and validate OAuth2 tokens provided by clients for each RPC.
|
The server demonstrates how to consume and validate OAuth2 tokens provided by clients for each RPC. |
route_guide
|
|
client
Package main implements a simple gRPC client that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
|
Package main implements a simple gRPC client that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs. |
server
Package main implements a simple gRPC server that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
|
Package main implements a simple gRPC server that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs. |
rpc_errors
|
|
Click to show internal directories.
Click to hide internal directories.