2015-03-31 24 views
0

节俭服务器是否有可能不反序列化消息,但它将访问该数据,以便我可以保存并获得以后发送? 准确地说。 我有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 
} 

,但我不想型StructA的s。我需要在将它反序列化为StructA之前捕获该结构。即选择TJSON协议。它应该让我访问该json

回答

0

是的,因为Thrift是一个RPC和序列化框架。代码中有几个示例,查找“序列化程序”。基本思路是建立一个流输送或类似的流入和流出,如shown here

你对数据做的前后处理完全取决于你。例如,您可以将数据发送到服务器,或者处理它,或者将其丢弃。

+0

我知道TSerializer类是可以的,但是很难说服务器是从协议,处理器等构建的。我发现你的旧回答在我的旧问题上非常类似:)而你的答案是TapProtocol 。准确地说。我需要客户端和服务器之间的通信,即通过Tcp,然后服务器不应该给我非序列化的数据,但原始数据。即如果选择TJSONProtocol。它会给我json – userbb 2015-04-01 06:21:27

+0

“*我发现你的旧回答在我的旧问题上非常相似*”=>接近重复? – JensG 2015-04-01 09:31:06

+0

我需要检查一下。我想知道是否有解决方案使用可能的定制处理器来赶上这一点。 “Tap”听起来像重复。我不确定它是否存在于Java中 – userbb 2015-04-01 10:04:05