问题标签 [grpc-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14306 浏览

java - Java中的gRPC - 阻塞/非阻塞存根

我正在尝试创建一个 java grpc 客户端来与服务器进行通信。我是 grpc 新手,所以正在关注本教程gRPC Java 教程。在这些示例中,它们指的是阻塞和非阻塞存根,它们似乎是从github的其他地方导入的。

但是我在他们的仓库中找不到这些类。我仍然不清楚它们的确切用途,它们是否应该在编译 .proto 文件时产生?任何帮助/指针将不胜感激。谢谢。

0 投票
5 回答
12130 浏览

android - 使用地图和位置时 grpc 失败

我正在使用地图和位置,以下代码是正确的,但它也显示grpc failed

我该如何解决?我正在使用安卓工作室 2.3.3。

0 投票
1 回答
2506 浏览

java - gRPC-java - .proto 文件的编译

我已经使用 protobuf 编译器编译了我的 .proto 文件并收到了一些 Java 文件。我收到了 proto.java 文件和 .proto 文件中每个项目的 .java 文件,包括消息类型和每个 RPC 调用,例如 publicKeyRequest.java 和 Quote.java 作为 RPC 和请求参数类型。

这是所有需要的文件吗,因为我似乎仍然无法从服务器获得任何简单的响应?

我想为 PublicKeyRequest RPC 调用生成一个请求。我生成了请求对象,但我不知道如何通过通道实际发送它。

这是完整的 .proto 文件:

这是我试图在客户端运行的代码:

抱歉,如果这是非常错误的,我是 gRPC 的新手。关于这个系统的几点:

  • 已经用 Go 编写了一个客户端和服务器,它们已经过测试并且可以使用同一个 .proto 文件。
  • 我正在尝试用 Java 重写客户端以与同一服务器通信。
0 投票
1 回答
4945 浏览

java - java.lang.VerifyError:验证程序拒绝类 - 验证失败

我正在使用在我的 android 客户端protobuf中以技术方式自动生成我的 API 服务。gRPC自从我一直在没有问题地工作以来已经有几个月了。现在突然之间,AndroidRuntime 验证器拒绝了我的 API 的自动生成方法之一。


这是堆栈跟踪:


以下(类似SO帖子上建议的解决方案)不起作用:

  • 清理并重建(甚至尝试手动清理)
  • 使缓存无效并重新启动 IDE
  • 从 proto 重新生成 API 定义

此外,这是堆栈跟踪中指出的自动生成的方法:

可以看出,该方法既不是很冗长,也没有太多参数;已经说过的事情是导致此错误的常见原因。


以下是我的应用程序的 build.gradle :(自上次所有这些都正常工作以来,gradle 中没有任何更改)


更新:该错误肯定与google.protobuf.Timestamp. 这是重现此问题的 MWE 的链接。

0 投票
0 回答
1783 浏览

haproxy - 在 Mesosphere Marathon 上使用 grpc 时遇到“由对等方重置连接”

我在马拉松上部署 grpc (1.5.0) java 应用程序时遇到大量错误。

编辑:

我也注意到

0 投票
1 回答
3951 浏览

security - GRPC Java 的 SSL 错误

JDK版本:1.8u77

proto3.0.3 版本

我尝试将 SSL 合并到当前应用程序中。请找到我们尝试过的以下方法。

1) OpenSSL 静态方法

我们已将 io.netty.tcnative-boringssl-static、io.netty.handler 和 bundle 添加到 com.pelco.vms.pelcotools.application.bnd 和

尝试了以下代码片段(添加到 RPCHandler):

但是我们在构建 SslContext 时收到以下异常。

2) 带有 JDK 的 TLS (Jetty ALPN/NPN)

如 GRPC 文档 ( https://github.com/grpc/grpc-java/blob/master/SECURITY.md ) 中指定的那样,尝试将 alpn-boot jar 添加到 –Xbootclasspath [JVM Arguement] 并添加 org.eclipse.jetty .osgi 到 com.pelco.vms.pelcotools.application.bnd。并尝试使用以下代码段:

grpc-java/SECURITY.md at master · grpc/grpc-java · GitHub github.com 身份验证。gRPC 支持多种不同的机制来声明客户端和服务器之间的身份。本文档提供了演示代码示例...

netty 服务器正在启动,但当客户端尝试连接时,我们收到以下预期。

注意:按照 ALPN 版本表和 JDK 遵循的版本

还尝试添加引用 Jetty alpn-agent jar 路径的 javaagent JVM 选项。但这在连接时也达到了上述异常。

请帮助解决问题

0 投票
1 回答
2066 浏览

grpc - Grpc 双向流 - 服务器可以启动消息交换吗?

我的情况是,

服务器和客户端启动

服务器向客户端发送消息,(服务器发起消息交换)

客户端收到消息并回复响应

如果是这样,请帮助我使用 grpc-java 示例代码。

我所能找到的只是客户端将消息发送到服务器,因为该服务器会发回响应。

0 投票
2 回答
13870 浏览

grpc - 连接错误 io.netty.handler.codec.http2.Http2Exception:HTTP/2 客户端前言字符串丢失或损坏。接收字节的十六进制转储:

处理 Grpc 双向流,当我尝试运行 grpc 时,出现以下错误

可能是什么问题?

0 投票
1 回答
622 浏览

grpc - NodeJS 可以获取 Grpc Service 的响应头吗?

我们使用NodeJS grpc客户端,在服务端我们将一些信息放到header中,那么NodeJS grpc客户端可以从服务端获取header吗?

0 投票
1 回答
2935 浏览

grpc - Grpc - 将不同的对象传递给 grpc 服务方法

在聊天服务中,我们从客户端获取请求并根据它发送响应。但我的情况是,服务器必须从类的外部方法发送一些不同的对象。

例如,

在下面的语句中,我对字段进行了硬编码,我应该如何将对象从不同的方法传递到 grpc 服务类。