问题标签 [thrift-protocol]

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 投票
2 回答
308 浏览

c - 结构未使用 thrift c_glib 客户端返回给客户端

我正在尝试使用 thrift 在 c (c_glib) 中实现客户端/服务器程序。

我已经实现了客户端/服务器传递变量作为函数参数。现在我需要将结构作为函数参数传递。

下面给出了正在使用的节俭文件

我传递结构所遵循的步骤是:

  • 在客户端
    1. g_object_new(TYPE_PACKET, NULL)
    2. 将结构指针传递给服务器。calculator_if_set_packet (client, trans_packet, &error)
    3. g_object_get(tans_packet, "header", &head, "data", &dat, NULL) 获取服务器中的数据集
    4. 打印结构以显示服务器中的数据集被反映回到客户端

客户端相关代码如下

  • 在服务器端
    1. g_object_get(pac_data, "header", &header, "data", &data, NULL) 获取pac_data的属性
    2. g_object_setg_object_get(tans_packet, "header", 111, "data", 999, NULL)

服务器端功能如下

当我这样做时,服务器在调用calculator_if_set_packet() 时不会向客户端返回任何内容。

谁可以帮我这个事?

0 投票
1 回答
1626 浏览

c# - 哪种数据类型最适合 c++ 中节俭通信中的日期时间?

在节俭的通信中,我需要将日期和时间从客户端发送到服务器。所以哪种数据类型最合适。

我的客户端使用 C++,服务器使用 C-Sharp。在服务器中,我使用 DateTime 关键字来执行此任务。但是对 Cpp 我应该使用什么感到困惑,因为我现在使用的 I64 没有在服务器端给我正确的数据。

提前致谢

0 投票
1 回答
5803 浏览

java - Thrift 异常中的异常消息如何工作?

我节省 IDL 文件,您可以定义自己的服务方法可能抛出的异常类型:

在日志中看到正确的异常消息的合同是什么?我见过这样的日志消息:Unhandled exception in foo.bar.Service my.package.SomeException: null. 我猜它在哪里说null这应该是异常消息?

不幸的是,异常没有很好的记录。我应该string message为此添加一个字段吗?是否有任何其他转换,如字段名称?

0 投票
0 回答
128 浏览

ruby-on-rails - 将 opencart 请求更改为 thrift 二进制文件

我们正在将 opencart 用于我们的电子商务框架。最近我们受到资源和功能的限制,opencart 成为实现这些功能的瓶颈。现在我们正在转向 Ruby On Rails。我们如何使用 thrift 来利用已经构建的 opencart项目并将请求调用转换为旧包?

0 投票
1 回答
272 浏览

cassandra - 在 cassandra cqlsh 中,我如何从地图中选择在一张桌子上?

基本上这是我的桌子的设置方式:

如果我运行以下 SELECT 语句,我会返回:

SELECT id, attributes from points limit 5;

我想做的是能够根据属性内部的信息形成一个 WHERE 子句。类似于以下语句:

SELECT id FROM points WHERE name = 'NAME' AND attributes['pFreq'] = 101;

但是,当我运行它时,我收到以下错误:

Bad Request: line 1:56 no viable alternative at input '['

我看了这个讨论,好像还不支持,这是真的吗?或者有没有办法过滤属性信息?

以下是我正在使用的版本:

0 投票
1 回答
3136 浏览

java - 如何将节俭对象转换为可读字符串并将其转换回来?

有时,我们需要在单元测试中创建一些 thrift 对象。我们可以通过使用 Java 代码手动创建对象来做到这一点,例如:

但这并不方便。我正在寻找一种方法来创建具有一些可读文本的对象。

我们可以使用 将 thrift 对象转换为 JSON TSimpleJSONProtocol,并获得可读性很强的 JSON 字符串,例如:

但问题是TSimpleJSONProtocol只写,thrift 不能读回它来构造MyObj.

虽然有一个TJSONProtocol支持序列化和反序列化,但是生成的 JSON 是不可读的,它使用了非常简化的 JSON 格式,并且大部分字段名称都丢失了。不方便在测试中构造它。

有什么方法可以将 thrift 对象转换为可读字符串并且还可以将其转换回来?如果TSimpleJSONProtocol支持转换回来,这正是我正在寻找的

0 投票
1 回答
2298 浏览

python - Thrift python 3.4 TypeError:需要字符串参数,得到'字节'

我正在尝试使用 Thrift 似乎支持的 python 3.4的Apache Thriftlib.linux-x86_64-3.4 ,因为它 在build目录下。但我不断收到此错误消息

任何人都知道发生了什么,并且可能有解决方案?

下面是相关代码

整个追溯:

0 投票
1 回答
469 浏览

thrift - 使用 Apache Thrift 时如何检测协议不匹配?

我正在我的 Mac 上运行一对使用 Apache Thrift 进行通信的客户端和服务器程序。在我们的生产系统中,我们最终可能会遇到客户端使用TJSONProtocol和服务器TBinaryProtocol用于序列化和反序列化的情况。

我知道这是一件可怕的事情。但我不确定如何事先检测到这一点。我尝试了一个具有不同协议的示例程序。我原以为会收到异常,但客户端卡在 RPC 调用上并且从未返回。

服务器代码使用TBinaryProtocol

客户端代码使用TJSONProtocol

在这个例子中,我从来没有Ping success打印出来。有什么方法可以检测到这种不兼容而不会卡住?

0 投票
1 回答
176 浏览

php - 在哪里可以找到 cassandra.thrift 文件?

我正在尝试使用 apache thrift 通过 PHP 连接 cassandra。

在我按照这些步骤操作之后,最后我运行了这个命令:

但发生错误:

[FAILURE:arguments:1] 无法使用真实路径打开输入文件:interface/cassandra.thrift

我找不到 cassandra.thrift 文件在哪里?

有没有人知道这个文件在哪里或者我的过程有什么问题?

操作系统 ubuntu 命令路径:ext/thrift/

工作正常,但 cassandra.thrift 不是。

0 投票
1 回答
497 浏览

java - Apache Thrift java 最低要求

Apache Thrift 页面建议最低 java 版本要求为 1.7 。我的应用程序使用 java 版本 1.6.95。我仍然能够编译和使用 apache thrift。任何人都知道这个最低版本要求是什么?