gRPC 一次轮询来自多个套接字的传入数据包

gRPC polling for incoming packets from multiple sockets at once

我正在研究同时监听不同套接字的可能性。要同时处理多个套接字连接,可以在 Linux 中使用 fd_set。我已经看到 gRPC 也通过基于 epoll 的轮询集来支持此功能。

https://github.com/grpc/grpc/blob/18df25228cfa1f97fc5cca9176fbaef64c0e4221/doc/epoll-polling-engine.md

我打算在异步模式下调用不同的服务并同时提供服务。因此,我正在考虑让轮询集由等待异步响应的客户端套接字和服务器套接字组成。这似乎在 gRPC 中是可能的。我无法在 gRPC API 中找到任何公开轮询集构造的内容。

因此,我的问题是如何使用gRPC的这种能力?

gRPC 会自动管理吗?在那种情况下,我该如何等待收到的消息?

客户端和服务器应使用相同的 CompletionQueue。要等待传入的消息,接下来需要调用 k。