问题标签 [proto]

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

javascript - 带有 node.js 的协议缓冲区 - 无法从 .proto 生成 js

尝试通过此文档在我的 node.js Web 服务器中使用google 协议缓冲区

运行以下命令时:

我收到了:

有什么建议么?

干杯,伊泰

0 投票
2 回答
6681 浏览

javascript - 错误:找不到模块“google-protobuf”

继我之前的问题之后,我正在尝试在 node.js 中使用协议缓冲区。我ServiceMessage_pb.js从我的 生成ServiceMessage.proto,并添加以下代码:

现在我的节点日志中出现以下错误:

任何建议如何解决这个问题?

谢谢

0 投票
1 回答
153 浏览

java - 如何从 proto buf UDP 数据流中获取扩展类型

我正在使用支持扩展的 java 和 proto buf 读取 UDP 流。

在任何给定时间,我都可以获得三种不同类型的数据,它们对应于三种不同类型的 proto 文件。

我在用

所有三个 proto 文件都使用下面提到的语法进行扩展

我正在做的是创建三个独立的方法,并根据标题字段中的值处理每种传感器的数据。

有没有办法我可以根据即将到来的扩展数据来决定调用哪个方法?

可能是描述符中的某些字段可以提供帮助,但我不知道如何使用它。任何想法?

0 投票
1 回答
1697 浏览

javascript - protobuf.js:在 node.js 中将 int64 对象打印为字符串

我正在使用这个很棒的模块:protobuf.js用于 node.js 中的协议缓冲区。

我有 int64 字段类型(由 google-protocol 支持),我正在尝试将其打印到屏幕上。

该行:

打印以下内容:

(偏移字段打印为[Object])和行:

印刷:

(实际值)。为什么第一次调用也不调用 Long 对象的 toString() ?

为什么所需的输出将是:

我发现了这个问题,但据我所知,我不应该做一些特别的事情来得到它..

我也发现了这个- 我的版本(npm list protobufjs)返回protobufjs@5.0.1

有任何想法吗?

0 投票
1 回答
969 浏览

javascript - 劫持 .__proto__

实例化对象时,无论是字符串/函数/等,__proto__都会包含一个属性。该属性似乎是由...中的__proto__访问器生成的Object.prototype

我想知道是否可以在__proto__实例化对象时劫持此属性以执行代码块。这个想法是用一个自定义属性替换该属性,该属性在调用原始访问器以在新实例上__proto__创建之前执行一些代码。__proto__

如果这有道理!如果不是,这就是我要做的事情:

无法判断它是否正常工作,但这只是一个尝试向您展示我想要实现的目标的示例。

0 投票
2 回答
1145 浏览

protocol-buffers - 将带有必填字段的新消息添加到 protobuf v2

说,我有两个版本的 proto 文件:

版本 1.0 - 初始版本
2.0 - 添加带有必填字段的新消息

从兼容性的角度来看,这是对 proto 文件的有效更改吗?

恕我直言,因为v2.0定义了一条带有必填字段的新消息,它应该会导致向后不兼容,因为如果一条消息是从v2.0to发送的v1.0v1.0它不会理解它,它不知道如何解码它。而且既然被标记了requiredv1.0就不能忽视它。

0 投票
1 回答
50585 浏览

import - protobuf中不同包文件的导入和使用?

我已经导入了另一个包名与我不同的原型。要使用来自其他包的消息,请使用包名称访问该消息。

例如 :

其他.proto

myproto.proto

有没有办法像optional val = 2;一样直接使用muthu.other包的val ?而不是使用muthu.other.Other.val

找不到任何有关此的帮助文档。帮帮我。

0 投票
1 回答
2610 浏览

java - 协议缓冲区不生成服务存根

我在从 GRPC 中的 .proto 文件生成存根时遇到了一些问题。这是 .proto 文件的样子

该文件确实生成了协议缓冲区代码,但我没有从中得到任何服务存根。IE 我不能使用阻塞存根。

我尝试使用“java_multiple_files=true”修复,但这只是将生成的原始文件拆分为几个单独的原始文件。

我目前正在使用以下命令提示行来生成我的原型文件。

如果您有任何想法或需要更多信息,请告诉我。

谢谢!-DJ

0 投票
1 回答
181 浏览

javascript - Javascript 继承:子类型原型无法访问超类型的属性/功能

我在下面有这段代码:

打印结果是,只有前 2 条日志打印出“30”,所有其他日志都打印出“未定义”,最后一行甚至在运行时抛出异常。

(1) 我期待他们都应该给我输出。为什么第 3 行打印“未定义”?

(2) 我希望“ proto ”和“constructor.prototype”都具有相同的效果,但实际上并非如此。

0 投票
1 回答
1860 浏览

java - 来自 .proto 模式文件或字符串的原型描述符

我想从定义消息协议的字符串中获取一个原型描述符。例如我有:

我收到以下异常:com.google.protobuf.InvalidProtocolBufferException:协议消息标签的线路类型无效。

最终,我希望能够定义一个模式并在运行时接受实际的原型消息,而不是一些模拟服务类型的东西的编译时间。