如何在Thrift客户端中使用我们自己的I / O框架?

时间:2015-08-12 09:32:31

标签: c++ thrift

在服务器端,一切正常。

但是在客户端,似乎我们不能只使用Thrift来处理协议,并使用我们自己的I / O框架(例如muduo或其他框架)发送/接收数据。

有没有办法用C ++实现这个?

1 个答案:

答案 0 :(得分:0)

我认为这是一个合理的问题,可以扩展到更一般的问题:

如何在Apache Thrift中使用其他传输机制?

正如Hcorg指出的那样,由于框架的ist模块化结构,实现它并不是很难。基本上,必须遵循这些步骤(对于Thrift支持的所有语言都是如此,而不仅仅是C ++)

  • 从TTransport派生出一个专门的类。在某些情况下,这是一个接口,而不是基类,但这并不重要。
  • 实施所有methods needed
  • 对于服务器端,您可能需要TServerTransport衍生产品

现有的实现可以作为模型,尽管TTransport中的方法数量很多,但大多数方法并不是很难实现。

此外,我还提供了一个专门的传输实现,使用STOMP和Delphi,基于TStreamTransport。相关代码可以在/contrib Folder中找到,值得一看。你知道,关于Thrift的一个好处是,所有语言的东西都非常相似。