我正在努力寻找 Thrift 文档来解释写入套接字的过程,而不是通过接口方法。
如果我希望服务器在不需要客户端发起请求的情况下写出数据,我应该查看 Thrift Library 的哪些组件?有没有很好的例子说明如何在我错过的地方做到这一点?一切似乎都依赖于使用 TServer 类。
查看http://thrift.apache.org/docs/concepts/的直觉表明这是我感兴趣的 TProcessor 类?但是很难找到能很好地使用它的例子。
我正在努力寻找 Thrift 文档来解释写入套接字的过程,而不是通过接口方法。
如果我希望服务器在不需要客户端发起请求的情况下写出数据,我应该查看 Thrift Library 的哪些组件?有没有很好的例子说明如何在我错过的地方做到这一点?一切似乎都依赖于使用 TServer 类。
查看http://thrift.apache.org/docs/concepts/的直觉表明这是我感兴趣的 TProcessor 类?但是很难找到能很好地使用它的例子。
一旦在 上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 类生成的服务器代码。