我有一个服务器/服务器应用程序,其中一个服务器看起来很像客户端,但正在处理来自客户端的请求 - 所以我称之为客户端。有几种不同的rpc消息,让我们调用它们解析,绑定,取消绑定。我希望客户端能够以异步方式自由发送解析,绑定和解除绑定请求,最终获得响应。我是否需要为此使用不同的通道(希望不是),我是否需要对每个通道进行流式处理 - 这似乎有点奇怪,因为我希望能够发送解析,绑定和解除绑定(及其有效负载)不得不等待回应。是的,我最终将处理回复(但在我的闲暇时),通常只作为清理的一部分或转发给真正的客户。使用gRPC是否合理,我是否需要不同的通道,是否将它们全部标记为(流请求类型)返回(流响应类型),还是我做了不同的事情?
答案 0 :(得分:0)
当您在异步服务器上处理rpc时,需要像CallData这样的东西来维护挂起的rpc的上下文。您可以重用请求和响应对象,但不应重用ClientContext和ServerContext。