| gRPC Hostname Example | |
| ===================== | |
| The hostname example is a Hello World server whose response includes its | |
| hostname. It also supports health and reflection services. This makes it a good | |
| server to test infrastructure, like load balancing. | |
| The example requires grpc-java to already be built. You are strongly encouraged | |
| to check out a git release tag, since there will already be a build of grpc | |
| available. Otherwise you must follow [COMPILING](../../COMPILING.md). | |
| ### Build the example | |
| 1. Build the hello-world example client. See [the examples README](../README.md) | |
| 2. Build this server. From the `grpc-java/examples/examples-hostname` directory: | |
| ``` | |
| $ ../gradlew installDist | |
| ``` | |
| This creates the script `build/install/hostname-server/bin/hostname-server` that | |
| runs the example. | |
| To run the hostname example, run: | |
| ``` | |
| $ ./build/install/hostname-server/bin/hostname-server | |
| ``` | |
| And in a different terminal window run the hello-world client: | |
| ``` | |
| $ ../build/install/examples/bin/hello-world-client | |
| ``` | |
| ### Maven | |
| If you prefer to use Maven: | |
| 1. Build the hello-world example client. See [the examples README](../README.md) | |
| 2. Run in this directory: | |
| ``` | |
| $ mvn verify | |
| $ # Run the server (from the examples-hostname directory) | |
| $ mvn exec:java -Dexec.mainClass=io.grpc.examples.hostname.HostnameServer | |
| $ # In another terminal run the client (from the examples directory) | |
| $ cd .. | |
| $ mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldClient | |
| ``` | |
| ### Bazel | |
| If you prefer to use Bazel, run from the `grpc-java/examples` directory: | |
| ``` | |
| $ bazel build :hello-world-client example-hostname:hostname-server | |
| $ # Run the server | |
| $ ./bazel-bin/example-hostname/hostname-server | |
| $ # In another terminal run the client | |
| $ ./bazel-bin/hello-world-client | |
| ``` |