Thrift 服务器访问未序列化的数据
Thrift server access unserialized data
thrift 服务器是否可能不反序列化消息,但它会提供对该数据的访问权限,以便我可以保存它并获取以供以后发送?
准确地说。
我有 IDL 和服务
void sendStructA(StructA)
struct StructA
{
1: string string_thing,
4: byte byte_thing,
9: i32 i32_thing,
11: i64 i64_thing
}
并生成客户端和服务器..服务器有接口所以我在服务器端有代码
void sendStructA(StructA s)
{
// do something
}
但我不想要 s
类型的 StructA。我需要在将其反序列化为 StructA 之前捕获该结构。即选择了 TJSON 协议。它应该能让我访问 json
是的,因为 Thrift 是一个 RPC 和序列化框架。代码中有几个示例,查找 "serializer"。基本思想是设置一个流传输或类似的和 protocol.Write()
和 protocol.Read()
进出该流,如 shown here。
前后如何处理数据完全取决于您。例如,您可以将数据发送到服务器,或者对其进行处理,或者直接将其丢弃。
thrift 服务器是否可能不反序列化消息,但它会提供对该数据的访问权限,以便我可以保存它并获取以供以后发送? 准确地说。 我有 IDL 和服务
void sendStructA(StructA)
struct StructA
{
1: string string_thing,
4: byte byte_thing,
9: i32 i32_thing,
11: i64 i64_thing
}
并生成客户端和服务器..服务器有接口所以我在服务器端有代码
void sendStructA(StructA s)
{
// do something
}
但我不想要 s
类型的 StructA。我需要在将其反序列化为 StructA 之前捕获该结构。即选择了 TJSON 协议。它应该能让我访问 json
是的,因为 Thrift 是一个 RPC 和序列化框架。代码中有几个示例,查找 "serializer"。基本思想是设置一个流传输或类似的和 protocol.Write()
和 protocol.Read()
进出该流,如 shown here。
前后如何处理数据完全取决于您。例如,您可以将数据发送到服务器,或者对其进行处理,或者直接将其丢弃。