将浮点数组从 Python 发送到 Node.js 时出现 gRPC 错误 13

gRPC Error 13 when sending float array from Python to Node.js

字符串数组或单个浮点数一切正常。当我尝试这样做时:

message FeatureListResponse {
  string message = 1;
  repeated float feature_vector = 4;
}

我得到:

{ Error at /usr/src/app/node_modules/grpc/src/node/src/client.js:505:17 code: 13, metadata: undefined }

Node.js 端 -- python 端没有错误。我真的不确定如何调试它?如果我真的必须的话,我可以将我的浮点数作为字符串发送,但这并不理想。 gRPC 文档说

... If you see one of these errors, something is very broken.

关于代码 13,但我觉得这没什么用。

我该如何调试它?或者很明显我做错了什么?

这是 Protobuf.js(具体来说,issue #432)中错误的症状。修复它的最简单方法是在重复字段上设置 packed 选项,如该问题所示。 truefalse 都可以,只要在客户端和服务器上设置相同即可。