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服务器的实现