【发布时间】:2015-08-13 01:22:06
【问题描述】:
在服务器端,一切正常。
但是在客户端,我们似乎不能只使用 Thrift 来处理协议,并使用我们自己的 I/O 框架(例如 muduo 或其他框架)发送/接收数据。
有什么方法可以用 C++ 来实现吗?
【问题讨论】:
-
向我们展示一些代码,您尝试了什么,什么不起作用。提供自己的
TTransport实现就足够了 -
感谢 cmets。是的,实现另一个 TTransport 可能有效,但这是否意味着我需要重建 thrift src?或者只是在外面实现我的lib,然后用thrift编译?当我从 Thrift 外部实现此功能时,我不确定 thrift 自动生成的代码是否还可以。无论如何,出于兼容性原因,我不想在 thrift src 中更改或添加代码。如果你知道一些开放的 src 实现了他们的 TTransport 而不会侵入 thrift src,只需使用接口和基类,请给我链接或任何其他提示,感谢!
-
您可以实现自己的 TTransport 而无需触及 thrift src - 只需扩展基类并将其提供给客户端(例如,而不是 TSocket)。我很确定 thrift 源 (git-wip-us.apache.org/repos/…) 中的 contrib 目录包含一些额外传输的实现。 (例如 ZeroMq)
-
非常感谢!我会先检查代码