我正在努力寻找Thrift文档来解释写入套接字的过程,而不是通过接口方法。
如果我希望服务器在不需要客户端发起请求的情况下写出数据,那么我应该查看Thrift库的哪些组件?有没有很好的例子说明如何在我失踪的地方做到这一点?一切似乎都依赖于使用TServer类。
看看http://thrift.apache.org/docs/concepts/的本能表明它是我感兴趣的TProcessor类?但是很难找到能够很好地利用它的例子。
答案 0 :(得分:1)
只要您在TProtocol
上建立TTransport
实例,就可以在其中编写任何Thrift结构。这只是几行代码:
TTransport trans = ....;
TProtocol prot = ....;
MyStruct myStruct = ....; //Any thrift structure that extends TBase
myStruct.write(prot);
trans.flush();
阅读序列化结构也很容易:
TProtocol prot = ....;
MyStruct myStruct = new MyStruct();
myStruct.read(prot);
类/方法语义的名称可能会根据实现语言而改变,但总体思路对于所有语言都是一样的。
对于示例,我建议查看由Thrift编译器和TSerializer
java类生成的服务器代码。