问题标签 [protobuf.js]

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

node.js - 无法使用 node v12.6 安装 probufJs

我正在尝试在 nodejs 中实现 grpc Web 服务。使用 npm i protobuff 安装依赖项 protobufJs 时,我收到错误消息:在节点版本 12.13 上没有调用 'v8::Function::NewInstance() 的匹配函数。

我尝试将节点版本更改为 10.17 和 8.16.2。但是,每次我得到同样的错误。操作系统是 ubuntu 18.04.2。

我不能使用 protoc 静态生成协议缓冲区,因为与我合作的公司希望它动态生成。

我正在使用 npm i protobuf 命令npm i protobuf 错误

0 投票
1 回答
164 浏览

angular - 带有 Angular 2.0 和 asp.net core(webpack) 和 Typescript 的 Protobuf

protobuf.js 版本:“protobufjs”:“6.8.8”,

我是 protobufjs 的新手,并计划在 Angular 2 项目中实现 protobufjs。我已经使用 Angular 2 项目(VS2015)中的“npm install protobufjs --save”安装了 protobufjs。

我有下面的服务,它将 http 请求发送到带有 Content-Type: application/x-protobuf 的 Restful 服务并以 protobuf 格式获取响应

获取如下示例响应,↵*����Alex"(�0�↵&����Du���2355"

如何解码对以下模型对象的响应

有人可以通过为 Angular 2 和 typescript 中的 Get 请求提供一些带有描述性步骤的示例来帮助我。

非常感谢任何帮助。

0 投票
0 回答
92 浏览

node.js - Protobuf 查找消息类型

我在节点 js 中编写了 websocket 客户端,它将以 protobuff 编码格式从服务器接收消息。

数据.proto

websocket 服务器将递归地发送不同的消息test1test2test3。由于传入的消息是编码的,我无法找到需要调用哪个原始消息结构来解码消息。有没有办法在调用解码之前找到原始消息类型?

0 投票
0 回答
1223 浏览

node.js - 在 AWS Lambda 中上传和反序列化 protobuf 数据

我需要将 protobuf 数据发送到用 Node.js 编写的 AWS Lambda。我正在尝试一个“Hello World”示例,在该示例中我序列化和反序列化 Person 消息。示例:person.proto

使用 Node.js 和包 protobufjs,我可以从 proto 文件生成代码,并将 Person 对象序列化和反序列化为文件:

输出:

使用 Postman,我想将二进制 protobuf 数据从 person.pb 文件上传到 AWS Lambda 并在 Lambda 中反序列化。当我将正文指定为“二进制”类型并指定 person.pb 文件时,人员数据在 Lambda 事件正文中显示为:

看起来它被转换成Unicode并编码了?如何获取正文字符串值并将其转回 Node.js 缓冲区:

以便我可以将其反序列化回我的 Lambda 代码中的 JSON 对象?

我将 .proto 文件中生成的代码放入我的 Lambda 中,以便调用:

谢谢

0 投票
1 回答
367 浏览

javascript - 使用 Promise 和 async 进行 protobufjs 加载调用

我试图找出重写以下代码的最佳方法:

我的问题是如何编写签名异步代码以将 privateKey 和 contract 变量传递给 api var 函数并将签名返回给要分配给 contracts[i].contract 的结果变量?请注意,id.sign(..) 函数是回调函数内部的 Promise。

0 投票
1 回答
107 浏览

protocol-buffers - 如何定义处理任何调用的 gRPC 服务?

我正在尝试做一些逆向工程,试图了解几个 .proto 文件中调用了哪些服务。我的问题是是否有可能在服务器上实现一个服务来处理所有的调用,并为我提供调用了哪个函数和服务的信息。

例子:

协议.proto


服务器.js


我想要做的是实现处理两个(所有)调用的第三个函数,并显示调用了哪个服务。像这样的东西:

有没有办法做到这一点?

谢谢你。

0 投票
2 回答
1107 浏览

protocol-buffers - 在原型中,如何将地图定义为自定义选项

在我的 proto 文件中,我想将地图定义为自定义选项,尝试了一些方法,但都没有奏效。

我的元数据原型文件:

我的原型文件

这可能吗?

0 投票
0 回答
234 浏览

c# - 如何使用 protobuf.js 和反射正确实现多态性

假设我有一个用 c# 实现的类层次结构,带有Protobuf.net. (还有一个Rectangle实现 的类Shape,但为简洁起见,我省略了它。)

我想在 TypeScript 中使用protobuf.js. 但是,我似乎无法弄清楚如何将“oneof”字段映射回子类。

这是我能想到的最好的:

这对我来说感觉很奇怪,因为:

  1. 我们必须将所有可能的子类字段公开为基Shape类的属性(在本例中为 的radius属性Circle)。
  2. 没有一个类实际实现ICircle,所以如果我们未能正确地公开某些属性,编译器不会警告我们。
  3. 类型保护依赖于强制转换any

任何人都可以提出更好的方法来实现这一目标吗?

0 投票
1 回答
462 浏览

javascript - Protobuf 编码返回空值

我正在尝试使用 protobufjs 中的编码方法将消息编码到缓冲区。

这是我的代码。

的值 console.log(container)低于,这是正确的。

但我正在尝试将其编码为缓冲区使用protobuf['IcaoContainer'].encode(container).finish()

它似乎返回一个空缓冲区。的值console.log(stateEntriesSend[address])低于

我的原型文件。

这里有什么问题?

0 投票
0 回答
19 浏览

protobuf.js - 错误的打字稿生成文件

打字稿生成的文件不再有效

枚举生成到命名空间中并且不再包含接口

我正在使用 typescript 6.8.9,但我认为这是一个依赖问题。

你是否也遇到这个问题?