问题标签 [grpc]

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 回答
5632 浏览

c++ - CPP 中的 gRPC 提供 TLS 支持

在 CPP 中使用 TLS 的 gRPC 服务器的任何示例?

我正在尝试构建一个 gRPC 应用程序。如果客户端想要通过 TLS 而不是 TCP 连接,服务器应该提供 TLS 支持。

这是我的服务器

错误:未定义对 grpc::SslServerCredetials(grpc::ssl_opts) 的引用我已经包含了所有必要的文件..

0 投票
3 回答
11115 浏览

cmake - 使用cmake创建protobuf/grpc cc文件

如果我想在 cmake 中重新创建以下 protoc 命令:

我在 cmake 中使用以下几行:

如果我想重新创建下面的 protoc 命令:

在上述情况下,我无法确定如何更改 cmake 文件,请帮助!

问题是我该如何解决:

我一直在阅读PROTOBUF_GENERATE_CPP文档,但没有找到答案!

0 投票
2 回答
1276 浏览

netty - gRPC:如何向 NettyServer 添加许多服务

为了提供 gRPC 服务,我需要实现一个 Netty 服务器,并将我的 (gRPC) 服务添加到它。在Java中我做了:

如果我有很多服务,我可能会有类似的东西:

有没有更好的方法来实现这一目标?(例如:通过一些配置将所有服务添加到某个文件夹下)

0 投票
1 回答
11087 浏览

java - gRPC 中的通道/存根是线程安全的吗

从 Java 使用 gRPC 时,我可以缓存存根(客户端)并在多线程环境中调用它们,还是通道是线程安全的并且可以安全地缓存?

如果出现网络中断,我应该重新创建通道还是足够聪明地重新连接?我在http://www.grpc.io/docs/上找不到相关信息

谢谢

0 投票
3 回答
4224 浏览

java - 编译 GRPC 服务器/客户端

我在弄清楚如何编译 GRPC Java 服务器时遇到了很多麻烦。我查看了整个 grpc.io 网站,发现最接近的是:http ://www.grpc.io/docs/#quick-start ,我在其中运行 ../gradlew -PskipCodegen=true installDist构建和 ./build/install/grpc-examples/bin/hello-world-client运行客户端。这一切都有效,但仅适用于 hello-world 教程。我不知道如何为我自己的客户端/服务器执行此操作。我可以使用 .proto 文件生成客户端/服务器 protobuf。我查看了他们的自述文件和 Java 教程,但在编写它们https://github.com/grpc/grpc-java/blob/master/examples/README之后,我找不到如何编译实际的服务器(和客户端) 。 MD (无法链接 java 教程,因为我没有足够的声誉)。除非缺少文档,否则有人知道如何编译实现从 .proto 文件生成的 GRPC 类的服务器和客户端吗?我确实花了相当多的时间搜索。非常感谢任何建议,谢谢。

0 投票
3 回答
8349 浏览

go - 如何使用 grpc 方法处理程序解决此问题

我是 golang 的新手,想尝试使用 grpc 代码来更好地理解它。为此,我遵循了此处显示的示例:

https://devicharan.wordpress.com/

源代码在这里: https ://github.com/devicharan/basicwebapp

不幸的是,当我运行此代码并执行 go build 时,我收到一条错误消息,内容如下:

我不知道这意味着什么,或者我需要改变什么才能开始寻找修复。是代码本身的问题还是我的 Go 配置有问题?另外,有人可以推荐一个好的 Go 调试器吗?

这是 CatalogService.pb.go 的代码:

这是 RecommendationService.pg.go

0 投票
1 回答
919 浏览

android - 在 Android App 上接收来自 gRPC 的消息

我需要在 Android 应用程序和服务器之间创建双向通信。我已经看到了向服务器发送消息的示例,但没有看到其他方式。知道如何做到这一点吗?服务?异步任务?

0 投票
2 回答
3700 浏览

grpc - grpc-go 中的会话和远程 IP 地址

在 grpc-go 中,实现服务时,服务接口定义的方法只包含ContextRequest。从源代码来看Context,它很简单

所以我想知道是否可以获取一些元数据(包括远程 IP 地址和其他数据)来维护会话。

谢谢。

0 投票
1 回答
600 浏览

java - 简单 JMH 基准测试中的 gRPC OOME 和 NPE

我尝试了 gRPC,但是 gRPC 使用 proto-buf 不可变消息对象,我遇到了很多类似 OOM

我不确定这是不是由对象创建引起的,我给这个过程5G mem,仍然OOM,需要一些帮助。

编辑

我把我的 bench、proto、dependencies 和 example 放到了这个gist中,问题是内存非常高,迟早会导致 OOME,还有一个奇怪的 NPE

0 投票
1 回答
1174 浏览

java - gRPC protobuffers Java 无法为 BlockingStub 设置 CallOptions

我有一个简单的 proto 文件,用于创建我的 java 类

使用 gradle 和 google protobuf 插件(https://github.com/google/protobuf-gradle-plugin)我创建我的类

生成MyServerGrpc的有一个内部类MyServerBlockingStub,它有两个构造函数:

MyServerGrpc课程确实公开了第一个,newBlockingStub(io.grpc.Channel channel)但不是第二个 - 这是我需要的。

像这样,我无法设置任何调用选项,例如超时。我可以轻松地操作生成的文件以允许我访问我需要的构造函数,但是这些更改将在下一代丢失 - 所以它不是一个真正的选择。

因为这看起来很容易解决,所以我在想:

  • 我是否错过了一些将这个构造函数暴露给我的选项?
  • 是否打算将CallOptions对象设置在我尚未找到的其他地方?