如何连接到不是来自 C++ 的 gRPC C++ InProcessChannel?
How to connect to gRPC C++ InProcessChannel not from C++?
我是 trying gRPC 作为 JNI 替代品,我的想法是在 C++ 端提供 gRPC 服务,在 Java/Android 端连接客户端。为了获得最佳性能,我更愿意使用进程内通道(接受您的建议)。
如何使用 InProcessChannel()
? The problem is that i need to pass 连接到 C++ gRPC 服务器 name
for Java's InProcessServerBuilder
.
在 C++ gRPC 测试中(例如 here)我找不到它的设置,这让我觉得 InProcessChannel
只能在纯 C++ 中使用(服务器和客户端都在 C++ 中). C++ 服务和 Java 客户端是否仍然可用?
PS。我能够为 Java-server + Java-client 做到这一点。
PPS。我发现了几个类似的 QnA ,但我想知道是否还有办法让它一起工作(可能与某些第 3 方渠道实现)。它可以在 Unix 域套接字上工作吗?
C++ 和 Java“进程内”传输未针对多种语言在同一进程中的情况适当命名。进程内传输仅适用于每种语言; C++ 和 Java 进程内传输无法交互。
你应该使用正常的 HTTP/2 client/server.
虽然可能存在您想要的东西,例如“共享内存”传输,但它需要大量工作,而且维护负担相对较少。
我接受埃里克安德森的回答是正确的。然而,了解我是如何使用 Unix 域套接字实现它的 working 可能会有用。
我不得不patch netty
for Android and use it. Pay your attention to some Android-specific permission notes。
我是 trying gRPC 作为 JNI 替代品,我的想法是在 C++ 端提供 gRPC 服务,在 Java/Android 端连接客户端。为了获得最佳性能,我更愿意使用进程内通道(接受您的建议)。
如何使用 InProcessChannel()
? The problem is that i need to pass 连接到 C++ gRPC 服务器 name
for Java's InProcessServerBuilder
.
在 C++ gRPC 测试中(例如 here)我找不到它的设置,这让我觉得 InProcessChannel
只能在纯 C++ 中使用(服务器和客户端都在 C++ 中). C++ 服务和 Java 客户端是否仍然可用?
PS。我能够为 Java-server + Java-client 做到这一点。
PPS。我发现了几个类似的 QnA
C++ 和 Java“进程内”传输未针对多种语言在同一进程中的情况适当命名。进程内传输仅适用于每种语言; C++ 和 Java 进程内传输无法交互。
你应该使用正常的 HTTP/2 client/server.
虽然可能存在您想要的东西,例如“共享内存”传输,但它需要大量工作,而且维护负担相对较少。
我接受埃里克安德森的回答是正确的。然而,了解我是如何使用 Unix 域套接字实现它的 working 可能会有用。
我不得不patch netty
for Android and use it. Pay your attention to some Android-specific permission notes。