[英]Server to client communication gRpc
我在试图找到解决方案时遇到了一些麻烦,想知道是否有人可以指出我正确的方向。
我正在实现一个系统,其中多个客户端使用 gRpc 与服务器进行通信。 服务是用 golang 编写的,客户端是用 C 编写的。
我试图找出如何最好地处理从服务器到客户端的通信。
到目前为止,我考虑过的选项是:
我也不完全相信在 C 中实现上述每一项所需的工作,因为 C 中似乎没有包含很多辅助功能
所以我使用go客户端+服务器实现了一个解决方案。 利用双向 rpc 流,
这是保持连接对连接的客户端开放的合理方法吗?
关于您的选择:
我不知道你的用例,但通常你不能要求或保证用户可以打开侦听器。 正常的方式是客户端连接到服务器并保持通道打开。
gRPC
可用作流接收服务器端事件 (SSE)。 所以这可能是一个不错的选择。 https://docs.servicestack.net/server-events-grpc#streamserverevents
这是保持连接对连接的客户端开放的合理方法吗?
我看不出这种方法有什么问题。
到目前为止,我不知道通过 WebSocket 以外的 http 协议来通信事件的更好解决方案。 它很容易实现,有一个基于事件的成熟API,支持文本和二进制数据。 从开发的角度来看,您只需要担心ws
或wss
协议的特定反向代理规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.