问题标签 [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.
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() 时不会向客户端返回任何内容。
谁可以帮我这个事?
c# - 哪种数据类型最适合 c++ 中节俭通信中的日期时间?
在节俭的通信中,我需要将日期和时间从客户端发送到服务器。所以哪种数据类型最合适。
我的客户端使用 C++,服务器使用 C-Sharp。在服务器中,我使用 DateTime 关键字来执行此任务。但是对 Cpp 我应该使用什么感到困惑,因为我现在使用的 I64 没有在服务器端给我正确的数据。
提前致谢
java - Thrift 异常中的异常消息如何工作?
我节省 IDL 文件,您可以定义自己的服务方法可能抛出的异常类型:
在日志中看到正确的异常消息的合同是什么?我见过这样的日志消息:Unhandled exception in foo.bar.Service
my.package.SomeException: null
. 我猜它在哪里说null
这应该是异常消息?
不幸的是,异常没有很好的记录。我应该string message
为此添加一个字段吗?是否有任何其他转换,如字段名称?
ruby-on-rails - 将 opencart 请求更改为 thrift 二进制文件
我们正在将 opencart 用于我们的电子商务框架。最近我们受到资源和功能的限制,opencart 成为实现这些功能的瓶颈。现在我们正在转向 Ruby On Rails。我们如何使用 thrift 来利用已经构建的 opencart项目并将请求调用转换为旧包?
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 '['
我看了这个讨论,好像还不支持,这是真的吗?或者有没有办法过滤属性信息?
以下是我正在使用的版本:
java - 如何将节俭对象转换为可读字符串并将其转换回来?
有时,我们需要在单元测试中创建一些 thrift 对象。我们可以通过使用 Java 代码手动创建对象来做到这一点,例如:
但这并不方便。我正在寻找一种方法来创建具有一些可读文本的对象。
我们可以使用 将 thrift 对象转换为 JSON TSimpleJSONProtocol
,并获得可读性很强的 JSON 字符串,例如:
但问题是TSimpleJSONProtocol
只写,thrift 不能读回它来构造MyObj
.
虽然有一个TJSONProtocol
支持序列化和反序列化,但是生成的 JSON 是不可读的,它使用了非常简化的 JSON 格式,并且大部分字段名称都丢失了。不方便在测试中构造它。
有什么方法可以将 thrift 对象转换为可读字符串并且还可以将其转换回来?如果TSimpleJSONProtocol
支持转换回来,这正是我正在寻找的
python - Thrift python 3.4 TypeError:需要字符串参数,得到'字节'
我正在尝试使用 Thrift 似乎支持的 python 3.4的Apache Thriftlib.linux-x86_64-3.4
,因为它
在build
目录下。但我不断收到此错误消息
任何人都知道发生了什么,并且可能有解决方案?
下面是相关代码
整个追溯:
thrift - 使用 Apache Thrift 时如何检测协议不匹配?
我正在我的 Mac 上运行一对使用 Apache Thrift 进行通信的客户端和服务器程序。在我们的生产系统中,我们最终可能会遇到客户端使用TJSONProtocol
和服务器TBinaryProtocol
用于序列化和反序列化的情况。
我知道这是一件可怕的事情。但我不确定如何事先检测到这一点。我尝试了一个具有不同协议的示例程序。我原以为会收到异常,但客户端卡在 RPC 调用上并且从未返回。
服务器代码使用TBinaryProtocol
:
客户端代码使用TJSONProtocol
:
在这个例子中,我从来没有Ping success
打印出来。有什么方法可以检测到这种不兼容而不会卡住?
php - 在哪里可以找到 cassandra.thrift 文件?
我正在尝试使用 apache thrift 通过 PHP 连接 cassandra。
在我按照这些步骤操作之后,最后我运行了这个命令:
但发生错误:
[FAILURE:arguments:1] 无法使用真实路径打开输入文件:interface/cassandra.thrift
我找不到 cassandra.thrift 文件在哪里?
有没有人知道这个文件在哪里或者我的过程有什么问题?
操作系统 ubuntu 命令路径:ext/thrift/
工作正常,但 cassandra.thrift 不是。
java - Apache Thrift java 最低要求
Apache Thrift 页面建议最低 java 版本要求为 1.7 。我的应用程序使用 java 版本 1.6.95。我仍然能够编译和使用 apache thrift。任何人都知道这个最低版本要求是什么?