0

我是 NodeJS 初学者,我正在尝试在 NodeJS 中创建一个 protobuf 对象,但我似乎还不了解这个概念。

我正在使用的 .proto 文件在这里:https ://github.com/meshtastic/Meshtastic-protobufs/blob/ab16c249dd5ed99a26ee3fe76ec84808d53d791a/mesh.proto#L889

我的代码如下所示:

[…]

const root = protobuf.loadSync('Meshtastic-protobufs/mesh.proto');
const toRadio = root.lookupType('ToRadio');

[…]

  const message = toRadio.create({
    want_config_id: 12345678
  });
  const buffer = toRadio.encode(message).finish();
  console.log(util.inspect(toRadio.decode(buffer)));

但显然,没有创建 protobuf 对象。console.log 格式的调试输出显示ToRadio {}.

我正在寻找有关如何阅读和使用原始文件的“傻瓜原型”解释,以便我可以正确创建对象。

4

2 回答 2

0

哦,好吧,事实证明,Node 中的参数名称实际上与 .proto 文件中的参数名称不同。

例如,proto 文件中的“want_config_id”在 Node.js 中更改为“wantConfigId”。

于 2021-08-31T09:31:55.737 回答
0

查看 gRPC 网站上的快速入门和教程:

https://grpc.io/docs/languages/node/

于 2021-08-30T16:24:49.177 回答