问题标签 [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.
android - GRPC for android:导入不同的协议文件
我正在为我的项目使用 GRPC 框架。例如,这是我用于存储 protoc 文件的示例目录结构:
我想将 base.proto 包含到 user.proto 中,但我不知道如何。我尝试了一些方法来包括,例如:
但它不起作用。我总是收到如下错误:
请帮我解决这个问题。
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
目录中?
grpc - 如何让 gRPC 服务器和客户端在同一进程中实现双向通信(不是服务器/客户端流式传输)
我对 gRPC 很陌生。我正在考虑在我的用例中使用 gRPC(Java)进行节点间(服务器)通信:
- 我有自己的应用程序逻辑在每个节点上做一些簿记工作;
- 一个节点需要与其他人通信以达成某种共识(应用程序逻辑的一部分),这意味着一个节点需要同时拥有客户端和服务器;
- 那么我怎么能做到这一点呢?在我调用 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 的最佳实践和模式……我真的很想听听您可能有的任何建议……
提前致谢!
grpc-java - 设置 gRPC Java
Java 和 gRPC 大师们祝你有美好的一天。
我一直在关注这个https://github.com/jpdna/gRPC-maven-helloworld,因为我正在使用 Java 学习 gRPC。
我能够使用 mvn clean package 编译它。但是当我在 Eclipse 中加载项目时,文件:
正在寻找班级“ GreeterGrpc
”。
我尝试在终端中执行此操作:
它生成了以下类:
但是没有 GreeterGrpc.java 被定义为这个项目中的服务。如果你不介意我问,我想知道如何创建或生成这个 GreeterGrpc.java 类?
非常感谢你们!
java - 无法使用 scala 构建 gRPC ManagedChannel
我尝试创建一个 gRPC 客户端。为了
我得到这个编译时错误
gRPC 是为 Java 构建的。我的项目是多模块 maven 项目,其中 protobuf 文件和生成的代码位于单独的模块中。
scala - Scala Grpc 失败并出现错误 io.grpc.StatusRuntimeException: CANCELLED: 无法读取消息
我正在尝试使用 GRPC 在 Scala 中编写流服务。为此我写了这个原型文件
这是我的服务器端代码
这是我的客户
当我运行服务器和客户端时。服务器在收到来自客户端的任何消息后立即抛出以下错误
我google了一下,找到了这篇文章
https://blog.codecentric.de/en/2017/01/hello-grpc-scalapb/
基于此,我将服务器更改为使用 java.util 调度程序
但我仍然收到 CANCELED 错误。所以我无法让流媒体示例工作。
sockets - 使用 Socket Java NIO 连接到 gRPC 服务器,但服务器没有响应
我的 gRPC Java 客户端使用套接字连接到服务器 Java NIO,并且 NIO 将请求的客户端传输到服务器 gRPC 但服务器没有响应。
我的客户端 gRPC 代码:
我在 NIO 中收到一条消息:
优先级 * HTTP/2.0
SM
spring - 我应该使用哪个 spring grpc boot starter 项目?
我们正处于使用 gRPC 开发微服务的初期。我们的微服务设计为在 JVM 上运行。在我们的持久层中,我们想使用一个 ORM 库。Spring Data JPA 项目看起来很有前途。
但是那里有两个 spring-grpc-boot-starter 项目?
- https://github.com/yidongnan/grpc-spring-boot-starter
- https://github.com/LogNet/grpc-spring-boot-starter
我应该使用哪一个?还是您推荐任何其他方法或方法?
android - Android 如何在 grpc 客户端中添加自定义标头?
我必须在 android grpc 客户端中添加自定义标头。我无法成功发送。
编辑:使用这种方式成功添加了自定义标题
现在在我的 grpc 通话中,我这样打电话
我已经构建了上述请求并在伪调用中调用它,如下所示。
我正在尝试添加这样的自定义标题
"Grps-Matches-Key : primary.secondary"
在 Rest API 调用中,我会将其添加为标头,例如
希望这可以帮助。