This directory contains a simple echo server that demonstrates all four gRPC API styles (Unary, Server Streaming, Client Streaming, and Bidirectional Streaming) using the gRPC Swift.
There are four subdirectories:
Model/containing the service and model definitions and generated code,Implementation/containing the server implementation of the generated model,Runtime/containing a CLI for the server and client using the NIO-based APIs.
To start the server run:
swift run Echo serverBy default the server listens on port 1234. The port may also be specified by
passing the --port option. Other options may be found by running:
swift run Echo server --helpTo invoke the 'get' (unary) RPC with the message "Hello, World!" against the server:
swift run Echo client "Hello, World!"Different RPC types can be called using the --rpc flag (which defaults to
'get'):
- 'get': a unary RPC; one request and one response
- 'collect': a client streaming RPC; multiple requests and one response
- 'expand': a server streaming RPC; one request and multiple responses
- 'update': a bidirectional streaming RPC; multiple requests and multiple responses
Additional options may be found by running:
swift run Echo client --help