dyrnq / grpc-example

grpc-example
1 stars 0 forks source link

What is the use of bidirectional stream grpc communication? #4

Open dyrnq opened 1 month ago

dyrnq commented 1 month ago

You say yours and I say mine?

dyrnq commented 1 month ago

在 gRPC 的双向流式通信中,确实可以实现服务端返回的数据流与客户端发送的数据流之间没有直接的业务逻辑关联。这种灵活性是双向流的一个重要特性,允许客户端和服务端独立地发送和接收消息。 双向流的特点 1.独立操作: 在双向流中,客户端和服务端的消息流是独立的。客户端可以在任何时候发送消息,而服务端也可以在任何时候返回消息。这意味着两者之间的交互不需要严格的顺序或依赖关系。 2.灵活性: 这种设计允许实现多种交互模式,例如: 客户端发送多个请求,而服务端可以在处理完每个请求后立即响应。 服务端可以在接收到所有客户端消息后再进行响应。 客户端和服务端可以交替发送消息,形成类似于“乒乓球”的交互。 3.应用场景: 由于这种灵活性,双向流非常适合实时通信应用,如视频通话、在线游戏或实时数据处理等场景。

dyrnq commented 1 month ago

双向流包含如下意义

对于客户端

1.被动对server的response
2.主动用response对象向server发起 //此处为多(client)对1(server)

对于服务端

1.被动对client的response
2.主动用request对象向client发起 //此处为1(server)对多(client)