当前位置: 首页 > 知识库问答 >
问题:

gRPC的异步使用

马银龙
2023-03-14

gRPC是否支持以下服务器和客户端之间的通信方案?1.客户端连接到服务器并调用waitMessages等方法。然后,客户端正在等待来自服务器的一些消息。2.服务器不时向客户端发送消息。例如,调用客户端的某个方法。3.客户端与服务器断开连接

我不喜欢通过轮询服务器来实现这个方案。我想调用服务器方法一次,然后等待消息。

共有1个答案

阎裕
2023-03-14

gRPC支持部分响应或流式传输。如gRPCconcepts页面(在“服务器流式RPC”部分)所述:

服务器流RPC类似于我们的简单示例,不同之处在于服务器在收到客户端的请求消息后发回一系列响应。发回所有响应后,服务器的状态详细信息(状态代码和可选状态消息)和可选的尾随元数据被发回服务器端完成。一旦客户端收到所有服务器的响应,它就完成了。

为完整起见,gRPC还支持客户端流媒体以及双向流媒体。

 类似资料:
  • 本教程介绍如何使用 C++ 的 gRPC 异步/非阻塞 API 去实现简单的服务器和客户端。假设你已经熟悉实现同步 gRPC 代码,如gRPC 基础: C++所描述的。本教程中的例子基本来自我们在overview中使用的Greeter 例子。你可以在 grpc/examples/cpp/helloworld找到安装指南。 概览 gRPC 的异步操作使用CompletionQueue。 基本工作流如

  • 如何从处理程序外部为RPC生成流响应值?(特别是,从I观察者)我目前正在执行以下操作,但这会产生跨线程问题,因为在RPC处理程序之间共享... 这段代码感觉不对劲...但是我看不到从RPC处理程序之外创建的共享源流式传输RPC响应的任何其他方式。

  • C Async描述了如何创建一个异步服务器和一个相应的异步客户机来与之通信。我已经在微软ViualStudio中创建了这个。 我现在需要一个java客户端说话的C服务器-我无法找到一个Java等效的客户端(到C)与C通信。 任何指点都将不胜感激

  • 我理解同步服务器和异步服务器之间的区别,但是我想知道,如果有这两种情况,哪一种更适合异步服务器还是同步服务器? > 同步:写入调用将被阻塞,直到消息准备好从内部完成队列通过线路发送。异步:写入调用立即返回,我们需要等待完成队列。在同步服务器中,如果我们添加队列,该队列基本上为evry写入调用和其他线程填充,并将其耗尽并执行stream.write然后性能将相同? 同步:gRPC内部创建线程池,线程

  • 我正在学习如何在C++中异步使用gRPC。查看https://github.com/grpc/grpc/blob/v1.33.1/examples/cpp/helloworld/greeter_async_client.cc中的客户机示例 除非我误解了,否则我没有看到任何异步演示。只有一个RPC调用,它在主线程上阻塞,直到服务器处理它并将结果发回。 我需要做的是创建一个客户机,该客户机可以执行一个

  • 问题内容: 我有调度动作的功能。我想在操作之前和之后显示一个加载程序。我知道将对象传递给时会做出反应。问题是如何以异步方式更新属性: 基本上,如果我将此属性作为应用程序状态的一部分(使用Redux),那么一切都很好,但是我真的更喜欢将此属性仅带到组件状态。 问题答案: 将其余代码包装在第一个的回调中: 有了这个,你可以保证被设定为之前被调用,并且被设置回。 这假设您的功能是同步的。如果不是,则将其