在服务器端,一切正常。
但是在客户端,似乎我们不能仅仅使用Thrift来处理协议,并使用我们自己的I / O框架(例如mudu或其他框架)发送/接收数据。
有什么方法可以用C ++实现吗?
最佳答案
我认为这是一个合理的问题,可以扩展到更一般的问题:
如何在Apache Thrift中使用其他传输机制?
正如Hcorg所指出的那样,由于该框架的模块化结构,实现这一目标并不难。基本上,必须遵循以下步骤(对于Thrift支持的所有语言,不仅是C ++,这都是正确的)
从TTransport派生一个专门的类。在某些情况下,这是一个接口,而不是基类,但这并不重要。
实施所有methods needed
对于服务器端,您可能需要TServerTransport
派生
现有的实现可以用作模型,尽管TTransport
中的方法很多,但大多数实现起来并不是很困难。
此外,我还基于TStreamTransport
提供了一种专门的传输实现,以将STOMP与Delphi一起使用。相关代码可以在/contrib
Folder中找到,值得一看。您知道,Thrift的优点之一是,所有语言的东西都非常相似。
关于c++ - 如何在Thrift客户端中使用我们自己的I/O框架?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31961295/