Thrift是通过Socket通信来实现,所以有客户端和服务器两个部分。比如,现在有一个项目ShowTime,那么,thrift文件应当这么写
struct TimeInfo { 1:i32 year, 2:i32 month, 3:i32 day, 4:i32 hour, 5:i32 minute, 6:i32 second, 7:i32 ms, } service ShowTime { TimeInfo GetTime(), }那么,我们就会得到一个客户端ShowTimeClient,一个服务器ShowTimeHandler,二者通过GetTime进行通信。服务器ShowTimeHandler实现GetTime的具体功能,返回struct TimeInfo来返回具体数据,客户端ShowTimeClient通过调用GetTime来获取该struct,从而达到通信的目的。
另外,服务器ShowTimeHandler中的的标准输出printf也被重定向到客户端的标准输出。
最后做个链接,下边是关于thrift的几篇文章。
用thrift实现客户端和服务端的C++代码 其对官方文档的C++版本进行了略略的翻译。
thrift多线程服务端 简要介绍了一个多线程thrift服务器的实现