通过单个预先建立的TCP连接进行多个双向gRPC调用

时间:2016-09-24 15:02:23

标签: sockets tcp firewall grpc

是否可以使用gRPC以便两个远程主机之间的所有呼叫 使用在gRPC之外建立的TCP连接?我也想 确定此TCP连接是否可以多路复用 一个gRPC呼叫,呼叫可能在任何一个方向,和那个gRPC 不要关闭插座。

目的是当gRPC的两端跨越a时能够使用gRPC 防火墙。防火墙只允许建立单个TCP连接 这是从防火墙内启动的。

对于要求,只有C ++和Java实现可以在任何一方。

1 个答案:

答案 0 :(得分:1)

也许。主要问题可能是您不希望gRPC关闭套接字;目前还不清楚你希望gRPC何时将套接字发回给你。它还不清楚你是否需要在服务器端或客户端使用它。

gRPC使用HTTP / 2,它可以通过单个TCP连接自然地复用多个双向呼叫。 C ++还允许你provide it an existing fd。 Java不支持传递fd开箱即用,但应该可以使用JNI Netty EpollSocketChannel。不过,我只希望那些人今天在客户端工作。

这可能是值得a GitHub issue作为功能请求的内容。