问题标签 [grpc-node]

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

protocol-buffers - 使用protobuf注释时如何删除未使用的类型化需求

我使用 gogoproto 生成 go 代码。但是当我生成nodejs代码时,有一个var gogoproto_gogo_pb = require('../../../gogoproto/gogo_pb.js');

这是因为我使用import "gogoproto/gogo.proto";

有什么方法可以让 protoc 忽略import "gogoproto/gogo.proto"; 我在生成 nodejs 代码时不使用的正弦。

0 投票
1 回答
1526 浏览

node.js - GRPC Golang 服务器和 NodeJS 客户端。TLS 连接失败

当我不使用 TLS 时一切正常。但是当我这样做时,它没有连接。更多细节:

我已经配置了 Golang GRPC 服务器,就像这篇博客在带有证书颁发机构的相互 TLS 部分中所说的https://bbengfort.github.io/programmer/2017/03/03/secure-grpc.html一样。服务器已启动并运行良好。

现在我有一个用 NodeJS 编写的客户端,试图通过 grpc 发送一些数据。我已经像下面这样配置了 NodeJS:

我像这里提到的那样创建了证书:https ://github.com/grpc/grpc/issues/6757 。当然,我确实看到了这条评论:https ://github.com/grpc/grpc/issues/6757#issuecomment-264617793 。

当我运行 NodeJS 客户端时,我仍然看到错误:

证书详细信息:SSLv3 TLSv1.2

编辑:

我将环境变量 GRPC_VERBOSITY 添加为 DEBUG 并发现以下内容:Peer name <IP> is not in peer certificate

0 投票
1 回答
1092 浏览

javascript - npm install 上的 node-pre-gyp 安装错误

我试图遵循行动书中的反应。-本书的项目回购

但是在npm installUbuntu 上做,我得到

我也尝试更新我的节点和 npm 版本,然后 npm install 但它仍然无法正常工作。帮我解决这个恼人的错误。

编辑:

我试图使用来自 SO 和 github 的近 10 个答案来解决这个问题,但它们都不起作用,而且一些答案适用于 windows 或 mac,而不适用于 ubuntu。我也尝试过这些问题的答案。

0 投票
1 回答
54 浏览

node.js - Node.js gRPC API 的文档在哪里?

目前https://grpc.io/docs/reference/指向https://grpc.io/grpc/node/,其中“API 文档”链接仅指向自身。

有官方 API 参考吗?(谷歌搜索名称类似.onor的方法.cancel效率不高。)

0 投票
1 回答
1900 浏览

grpc - gRPC 服务器端半关闭是否应该隐式终止客户端?

在 http2-spec 中,服务器半关闭流的场景(服务器发送 http2.END_STREAM),仍然允许客户端发送数据(因为它是半关闭的)。

考虑以下 gRPC 场景:

  • 客户端打开双向流到服务器并开始发送数据
  • 服务器关闭响应流并发送状态预告片(转换为发送 http2.END_STREAM)
  • 客户端继续发送数据

gRPC 中的语义定义是否明确?

可能的方式:

  • 遵循http2-spec:允许客户端继续发送由服务器处理的数据。
  • 不遵循 http2-spec:如果服务器关闭流,客户端连接将被隐式终止。

注意:我刚刚测试过,它看起来像 Java 的 gRPC 遵循变体“不遵循 http2-spec”,即如果服务器关闭向下的流,则向上的流也被关闭。

0 投票
1 回答
3121 浏览

node.js - 在 Node.js gRPC 客户端中获取“错误:8 RESOURCE_EXHAUSTED:收到的消息大于最大值(15217288 与 4194304)”

如何增加 Node.js gRPC 客户端的最大消息大小?

我们使用grpc,grpc-toolsprotobufjsnpm 包:

0 投票
0 回答
47 浏览

node.js - 使用 GRPCv3 的输出中不存在整数值 0

我在 node.js 上使用 GRPCv3

我有一个带有以下消息的 .proto 文件:

在使用 console.log 的服务器上,我看到了这个输出:

在使用 node.js 的客户端上:

但是另一个使用 java 客户端的人告诉我他看到了:

未设置容量的地方。如果它的值是 1 而不是 0,那么一切都很好。可能吗?我如何强制服务器输出值?我已经尝试过使用 capacity = parseInt(capacity)

0 投票
2 回答
1303 浏览

javascript - grpc和express服务器可以由同一个nodejs服务器运行吗,或者grpc必须是不同的服务器

我正在尝试创建一个基于 Node/Express 的 REST 服务器。如何在同一个 REST 服务器中添加 GRPC 服务器,或者它必须是完全不同的 NodeJS 服务器,它只托管 GRPC 服务器。

0 投票
1 回答
319 浏览

protocol-buffers - 如何根据 protobuf grpc 规范正确格式化响应对象

我有以下 protobuf 定义:

如您所见,我想返回格式化响应,因此我的 API 有一些标准化的响应方式。我像这样格式化了我的回复(由于可读性,这是 JSON 格式):

但在客户端,我不断得到:

当我尝试 console.log 响应对象时。

我究竟做错了什么?另外,是否有任何关于 grpc 的好书以及一些示例(C、C#、Java、Python、JavaScript)?提前致谢!

0 投票
3 回答
5865 浏览

protocol-buffers - 如何在 ProtoBuf (gRPC) - Proto3 语法中添加消息类型作为对象?

如何在 ProtoBuf - Proto3 语法中将消息类型作为对象发送?

我想传输对象而不是字符串或数字。

例子

在这里,我收到错误

--

解决方法

我可以在服务器端将它转换为字符串,然后我可以在客户端 JSON.parse()。

但我想知道,是否有更好的方法来做到这一点。