问题标签 [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 投票
1 回答
244 浏览

android - GRPC for android:导入不同的协议文件

我正在为我的项目使用 GRPC 框架。例如,这是我用于存储 protoc 文件的示例目录结构:

我想将 base.proto 包含到 user.proto 中,但我不知道如何。我尝试了一些方法来包括,例如:

但它不起作用。我总是收到如下错误:

请帮我解决这个问题。

0 投票
1 回答
1054 浏览

gradle - gRPC gradle :generateProto 失败,导入其他 proto 定义时找不到目录

我正在尝试将一些 protobuf 定义编译为 gradle 任务,但是在没有源生成的情况下出现以下错误:

这仅在我尝试编译导入其他定义的定义时发生。如果我删除service-definitions.proto定义,其他的会编译并生成源代码。

protobuf 定义可从vertx-grpc 示例中获得,我将它们保存在$projectDir/src/main/proto. 我没有更改它们的默认构建位置,因此源被生成为$projectDir/build/generated/source/proto. extracted-protos然而,我有一个目录而不是一个目录extracted-include-protos(可能解释了找不到目录错误)。

这是我的gradle.build文件,应该有用吗?请注意,gRPC 插件使用 Vert.x 工件而不是来自的版本io.grpc..(它实际上只是它顶部的一个包装器)。我尝试将 Vert.x 版本换成该io.grpc版本并得到相同的错误。

我没有更改任何设置,为什么(a)在错误的位置寻找提取的文件,以及(b)在导入时完全寻找提取的文件,因为必要的定义都在src/main/proto目录中?

0 投票
1 回答
1574 浏览

grpc - 如何让 gRPC 服务器和客户端在同一进程中实现双向通信(不是服务器/客户端流式传输)

我对 gRPC 很陌生。我正在考虑在我的用例中使用 gRPC(Java)进行节点间(服务器)通信:

  1. 我有自己的应用程序逻辑在每个节点上做一些簿记工作;
  2. 一个节点需要与其他人通信以达成某种共识(应用程序逻辑的一部分),这意味着一个节点需要同时拥有客户端和服务器;
  3. 那么我怎么能做到这一点呢?在我调用 server.awaitTerminate() 之后,服务器似乎被阻塞了,对吧?但是我们在java中也有异步版本的gRPC服务器吗?我打赌是的,但我还不确定如何利用它。

例如,我有节点 A、B、C。我需要先启动 gRPC serverA、serverB、serverC,对于每个服务器说 A,我需要客户端连接到 B 和 C。除了通信部分,如果需要,应用程序(比如在节点 A 中)逻辑将能够通过相应的客户端(到服务器 B 和 C)向其他节点(比如 B 和 C)发送消息;当然,当来自 B 的请求时,应用程序逻辑会得到通知和 C(因为它本身就是一个服务器)。

我已经在网上搜索了几天,并浏览了 grpc/grpc-java 相关材料和代码示例。但是,我发现没有太多代码示例来展示利用 gRPC 的最佳实践和模式……我真的很想听听您可能有的任何建议……

提前致谢!

0 投票
2 回答
761 浏览

grpc-java - 无法编译 gRPC java

当我尝试为 java 编译 gRPC 时出现以下错误

我正在运行的命令是 gradlew.bat installDist

我已将 Microsoft Visual Studio 文件夹 (C:\Program Files (x86)\Microsoft Visual Studio 14.0 ) 添加到路径


更新

我已经安装了 gcc 和 clang,但我仍然收到上述错误

在此处输入图像描述

0 投票
2 回答
1307 浏览

grpc-java - 设置 gRPC Java

Java 和 gRPC 大师们祝你有美好的一天。

我一直在关注这个https://github.com/jpdna/gRPC-maven-helloworld,因为我正在使用 Java 学习 gRPC。

我能够使用 mvn clean package 编译它。但是当我在 Eclipse 中加载项目时,文件:

正在寻找班级“ GreeterGrpc”。

我尝试在终端中执行此操作:

它生成了以下类:

但是没有 GreeterGrpc.java 被定义为这个项目中的服务。如果你不介意我问,我想知道如何创建或生成这个 GreeterGrpc.java 类?

非常感谢你们!

0 投票
2 回答
688 浏览

java - 无法使用 scala 构建 gRPC ManagedChannel

我尝试创建一个 gRPC 客户端。为了

我得到这个编译时错误

gRPC 是为 Java 构建的。我的项目是多模块 maven 项目,其中 protobuf 文件和生成的代码位于单独的模块中。

0 投票
1 回答
4996 浏览

scala - Scala Grpc 失败并出现错误 io.grpc.StatusRuntimeException: CANCELLED: 无法读取消息

我正在尝试使用 GRPC 在 Scala 中编写流服务。为此我写了这个原型文件

这是我的服务器端代码

这是我的客户

当我运行服务器和客户端时。服务器在收到来自客户端的任何消息后立即抛出以下错误

我google了一下,找到了这篇文章

https://blog.codecentric.de/en/2017/01/hello-grpc-scalapb/

基于此,我将服务器更改为使用 java.util 调度程序

但我仍然收到 CANCELED 错误。所以我无法让流媒体示例工作。

0 投票
0 回答
340 浏览

sockets - 使用 Socket Java NIO 连接到 gRPC 服务器,但服务器没有响应

我的 gRPC Java 客户端使用套接字连接到服务器 Java NIO,并且 NIO 将请求的客户端传输到服务器 gRPC 但服务器没有响应。

我的客户端 gRPC 代码:

我在 NIO 中收到一条消息:

优先级 * HTTP/2.0

SM

0 投票
1 回答
1572 浏览

spring - 我应该使用哪个 spring grpc boot starter 项目?

我们正处于使用 gRPC 开发微服务的初期。我们的微服务设计为在 JVM 上运行。在我们的持久层中,我们想使用一个 ORM 库。Spring Data JPA 项目看起来很有前途。

但是那里有两个 spring-grpc-boot-starter 项目?

我应该使用哪一个?还是您推荐任何其他方法或方法?

0 投票
2 回答
17238 浏览

android - Android 如何在 grpc 客户端中添加自定义标头?

我必须在 android grpc 客户端中添加自定义标头。我无法成功发送。

编辑:使用这种方式成功添加了自定义标题

现在在我的 grpc 通话中,我这样打电话

我已经构建了上述请求并在伪调用中调用它,如下所示。

我正在尝试添加这样的自定义标题 "Grps-Matches-Key : primary.secondary"

在 Rest API 调用中,我会将其添加为标头,例如

希望这可以帮助。