问题标签 [grpc-go]

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

go - 如何从 grpc-server 流式传输结果以及如何从 goroutines grpc server-stream 返回结果以将结果传递给 api

我有一个通过 golang 创建的 api,它返回结果

作为 json 结果,但在代码中它使用调用 go func() 的 go 例程来处理来自 grpc-server golang 的结果

像这样

我需要获取我使用此频道的位置值

如果有机会,我怎样才能使用 go 将此结果流式传输到 ui?有什么建议如何在 ui 中使用这种流式传输方式吗?

0 投票
1 回答
1088 浏览

grpc-go - 是否可以将“MaxConcurrentStreams”服务器选项视为与 grpc-python 中的“maximum_concurrent_rpcs”等效?

我正在实现一个 grpc 服务器(在运行中),我需要用某种服务器繁忙/不可用的消息来响应,以防我的服务器已经在为设定的最大数量的 RPC 提供服务(当前)。

我之前已经用 grpc-python 实现了一个 grpc 服务器,我maximum_concurrent_rpcs通过threadpool. 我正在 grpc-go 中寻找类似的东西。我能找到的最接近的是服务器设置,它可以由调用返回的 ServerOptions 设置MaxConcurrentStreams。我的应用程序仅支持unary RPCs,我不确定此设置是否适用。

我只是想强制/设置服务器可以处理的最大活动并发请求数。设置会maxConcurrentStreams起作用还是我应该在我的代码本身中进行设置(我已经为它做了一些基本的实现,但我宁愿使用 grpc-go 提供的东西)?

0 投票
2 回答
2771 浏览

go - gRPC 是否可以发送零服务器消息?

在以下gRPC-client 代码中,第二个是否if必要?

直觉上,应该总是检查 nilgo 以防万一。但是,有一个运行时检查来捕获任何客户端到服务器的nil使用,例如

那么是否有类似的服务器到客户端运行时保证,从而消除了status == nil检查的需要?

0 投票
1 回答
610 浏览

go - 在客户端中获取 405 http 错误以调用 gRPC Web

从休息客户端调用 gRPC 服务时,我收到 http 错误代码 405。

我尝试使用 gRPC 客户端调用删除方法,它工作正常(即得到 200)。

休息客户端

gRPC 客户端

预计删除功能正确执行并获得 200 个 http 响应。

0 投票
0 回答
108 浏览

dart - 在 grpc-dart 中设置主机

有没有办法用不安全的连接在 grpc-dart 中设置主机,我看过这个但找不到方法?

只需要设置:authority

它应该类似于 go - example setting host serverHostOverride:(注意我可以设置 host 并运行 WithInsecure 连接)

0 投票
1 回答
681 浏览

grpc - 如何使用 grpc 向通过双向流连接的客户端广播?

我是grpc的第一个学者。我认为这是一个丑陋的问题。

使用 grpc-go 创建了一个简单的聊天应用程序。而想要实现的就是这样的。

@clientA、clientB、clientC中的每一个,都连接到serverA,并且有一个双向的流连接。比如要通知clientA、B、C,clientD已经连接到serverA,有什么实现方法?

如何在 gRPC 中从服务器到客户端进行广播?

gRPC:如何区分服务器端的双流客户端?

我已经阅读了这些帖子,但我想知道最佳实践。

例如,当创建一个客户列表并在那里通知时,这应该是怎样的代码?

0 投票
1 回答
3791 浏览

go - 如何在 Go 中对 gRPC 服务进行单元测试

我在对 go 中的 gRPC 服务进行单元测试时遇到了困难。

我查看了测试 gRPC 服务,但它对我不起作用,不确定我做错了什么。

Add 方法的 gRPC 服务实现:

Add 方法的单元测试:

项目目录结构

s := server{}抛出一个错误说undefined: server

我很陌生Go,无法找到解决此问题的解决方案。

0 投票
1 回答
1294 浏览

grpc - rpc 错误:代码 = 未知 desc = 永久移动:HTTP 状态代码 301

我有用 go 编写的 GRPC 服务,我需要在 AWS-EKS 上部署该服务,我们使用 nginx-ingress 和 cloudflare 指向我们的集群网关(nginx)。

但是当我尝试使用此命令部署服务并对其进行测试时,grpcurl grpc.fd-admin.com:443 list 我总是收到以下错误:

这就是我为 kubernetes 资源所做的:

那么任何人都可以解释为什么我得到这个错误或者可能导致这种错误的原因是什么?

0 投票
2 回答
1395 浏览

grpc - improbable-eng/grpc-web 响应关闭,没有标题

我有一个使用 gRPC 的服务器,在反应客户端上我正在使用带有 grpcwebproxy 的 grpc web,我一直在尝试将我的客户端连接到服务器,但不断收到错误代码 2,并显示消息:响应关闭,没有标题。有没有其他人遇到过这个问题?我目前正在使用 grpc-web 的 improbable-eng 实现。

0 投票
2 回答
352 浏览

grpc - grpc-go 上下文如何在客户端和服务器之间传输?

当我阅读有关 grpc-go 的源代码时,例如rsp, err := c.SayHello(context.Background(), &pb.HelloRequest{Name: name})grpc helloworld 示例。我知道它使用 protobuf 消息来发送请求和接收响应,它还使用status.proto文件中定义的 protobuf 传输错误消息。但我不明白客户端和服务器之间的上下文如何传输。我猜它也使用 pb 消息,但我找不到它的定义位置。还是通过http2头帧传输?