问题标签 [protocol-buffers]

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 投票
4 回答
13647 浏览

java - 用于处理 protobuf 的 Eclipse 插件

协议缓冲区(protobuf) 是一种以高效但可扩展的格式编码结构化数据的方法。

Netbeans有插件,但我找不到 Eclipse 插件。它存在吗?如果是,请分享链接。

谢谢。

0 投票
3 回答
25508 浏览

java - 将 BigDecimal/BigInteger 序列化为 ProtocolBuffers 的最佳方法是什么

我开始将自定义序列化机制迁移到协议缓冲区。将特别经常使用的一种数据类型是BigDecimal.

有谁知道在协议缓冲区中序列化它的好方法?我们当前的序列化例程BigDecimal.toPlainString()用于序列化和反序列化new BigDecimal(String)- 我假设有更好的方法。

我的猜测是将 a 定义BigDecimal为:

但我不太确定如何定义BigInteger- 也许使用它的toByteArray()方法?

0 投票
11 回答
26759 浏览

c++ - 提升序列化与谷歌协议缓冲区?

有没有使用这些库经验的人对他们更喜欢哪一个有任何评论?使用中是否存在性能差异或困难?

0 投票
1 回答
14326 浏览

java - 您将如何编码地图使用协议缓冲区?

我正在尝试使用协议缓冲区进行消息序列化。

我的消息格式应该包含 Map< String, Object > 条目...但是如何编写 .proto 定义?

据我所知,Protocol Buffers 没有内置的 Map 类型。我可以使用重复字段来模拟它。但我遇到的最大问题是,您需要定义所有类型。我希望我的消息灵活,所以我不能指定类型。

有任何想法吗?

0 投票
4 回答
7960 浏览

c++ - 使用协议缓冲区发送图标/小图像

我有一个关于 std::string 和 google 的协议缓冲区库的简单问题。我已经定义了这样的消息:

我想使用 Icon 字段发送图像,它很可能是 png 图像。在将它提供给 protobuf 编译器后,我得到了类似的东西来访问/操作 Icon 字段。

std::string* mutable_icon() 函数让我头疼。它返回一个 std::string 但我相信字符串不能保存二进制数据!或者他们可以吗?

我可以使用 set_icon(const void*, size_t) 函数来放置二进制数据,但是我如何在另一边得到它?

我认为 std::string 可能能够保存二进制数据,但是如何 ????

0 投票
3 回答
1995 浏览

asp.net - Google 协议缓冲区或 .net/javascript 的类似内容

我们目前正在使用 Ajax 调用 .net Web 服务,然后将 Json 对象返回给客户端。其中一些 Json 对象非常庞大(> 500k 未压缩)。我们听说了一些关于 Google Protocol Buffers 的好消息,并且一直在试验。

到目前为止,我们在服务器上使用似乎是最常见的 .net 版本 - “protobuf-net”进行序列化已经很幸运了。我们在客户端上反序列化的运气并不好。我们尝试使用似乎是唯一的 javascript 反序列化器 protobuf.js。我们发现它不好用,示例或文档很少,而且似乎无法处理字符串和整数以外的数据类型。

在这一点上,似乎会有一个经过验证的、定义良好的解决方案,用于 .net 和 Web 客户端之间的二进制数据序列化/反序列化。也许我们遗漏了一些明显的东西。

我们的要求是来自客户端的 Ajax 调用和服务器上的 .net Web 服务方法(.asmx 或 WCF)。

任何意见和建议表示赞赏。

0 投票
2 回答
685 浏览

actionscript-3 - 将 GPB 编译为 AS3 的首选项目是什么?

在 Java 项目中,我使用Google 协议缓冲区(GPB) 来序列化我的对象。我可以在辅助 Python 代码中使用相同的 .proto 文件,这很棒。现在我正在为整个事情添加一个 Flex 客户端,并且我想再次使用相同的 .proto 文件。

似乎有几个项目可以将 .proto 文件编译为 Actionscript。看了几眼项目的主页,在我看来protobuf-actionscript3实际上是这些项目中最先进、最“有活力”的。

有没有人有 GPB 到 AS3 编译器的实践经验,你可以推荐(或推荐反对)哪些?

0 投票
5 回答
3945 浏览

eclipse - 如何在 Eclipse 中获得对 GPB 的支持?

我正在尝试在我的项目中使用 Google Protocol Buffers,我希望从 Eclipse 获得一些工具支持。特别是,我希望 Eclipse 在我protoc每次对.proto文件进行更改时调用,然后重建所有依赖于生成代码的代码。

我试图设置一个自定义生成器,但它一直在用我不明白的错误困扰我,最常见的是它抱怨.proto文件不在由 给出的路径上--proto-path,据我所知,它应该是。此外,因为我使用Eclipse,所以${build_files}Eclipse 将所有更改的文件传递给编译器(而不是那些我配置为触发构建的文件)。

NetBeans 似乎有一个 protobuf 插件,但我找不到一个用于 Eclipse 的插件。有吗?

0 投票
1 回答
2323 浏览

java - 使用 JPA 的协议缓冲区

我目前正在构建一个 P2P 系统,该系统使用协议缓冲区进行对等方之间的所有通信。系统还有一些集中的部分,对等点与服务器通信。服务器使用 JPA 来存储它拥有的关于对等点的数据。

所以本质上,客户端的数据在协议缓冲区消息中,服务器在 JPA 实体中。因此,我的问题是是否有办法在它们之间自动转换?

我正在寻找的是:

  • 来自 .protos-files 的 JPA 实体的生成器或
  • 来自 JPA 实体的 .protos 文件的生成器和
  • 一些在运行时自动转换它们的方法,所以我没有创建代码来为每个新类手动完成。

理想情况下,您可以更进一步,让它们都是相同的类(即带有 JPA 注释的协议缓冲区),但如果无法实现,上述方法也可以。

这是否已经完成,如果没有,您认为在合理的时间内实施是否可行?

0 投票
2 回答
4561 浏览

java - Google 协议缓冲区和 servlet

我想知道如何使用谷歌协议缓冲区来接受请求并将响应发送回客户端?我正在考虑编写一个接受请求的 servlet。以下思路是否是实现此目的的正确方法: 1. 有一个 .proto 文件,该文件是传入请求的消息定义。2. 编写一个 servlet 接受该请求,执行查询数据库等各种任务,然后发送响应。此响应是否需要一个单独的 .proto 消息定义,其中包含构成响应的所有字段?3. 客户端是否会调用我的 servlet 的 doGet() 方法并传递请求,然后它应该将响应作为 protobuff 对象返回?

任何建议或想法将不胜感激。