gRPC streaming extends a unary call with server, client, and bidirectional message streams. A server stream returns multiple messages for one request; a bidirectional stream lets both peers send independently. Each stream preserves message boundaries and order.
The demo cycles through arrow directions for the three modes. Production code must handle receiving pace, cancellation, completion, and errors; bidirectional does not mean every message arrives at the same time.
When to use
Use it for progressive updates or larger exchanges within one RPC.