gRPC入门-双向流式通信

2018-09-24  本文已影响392人  ted005

Gradle工程的环境搭建依然和前文一致,参考:gRPC入门-Hello World

示例代码

RequestObserver在服务端实现,responseObserver在客户端实现。

因此,在服务代码MyServiceImpl中需要返回一个requestObserver,实现其中的回调方法:
1. onNext表示接收到一个request,这里通过responseObserveronNext()立刻返回了一条数据。
2. onCompleted表示客户端已经发送数据完毕,这里调用responseObserveronCompleted()也告诉客户端连接关闭。

  1. 这里调用服务方法biStream使用的是stub(异步),而非之前的blockingStub(同步)。
  2. 调用biStream需要传入responseObserver作为参数,同时返回值是requestObserver
  3. 通过requestObserveronNext()不断发送数据。

为了能更好的看到执行效果,可以在程序最后增加sleep(10000),观察服务的异步响应过程。

双向流
上一篇 下一篇

猜你喜欢

热点阅读