最近刚接触了 Thrift , 发现它非常的好用,可惜的是网上这方面的相关资料太少了,只能通过别人贡献的代码来一点一点了解;
Thrift 介绍参考:
http://gemantic.iteye.com/blog/1199214
http://www.javabloger.com/article/thrift-java-code-example.html
http://www.cnblogs.com/liping13599168/archive/2011/09/15/2176836.html
上面都有相关的使用Demo,现在也把握自己的使用过程写一下:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第一步:下载 Thrift:
我使用的是 thrift-0.9.1.tar.gz ,下载地址是:http://apache.dataguru.cn/thrift/0.9.1/thrift-0.9.1.tar.gz
下载下来得到 thrift-0.9.1.tar.gz
是一个压缩文件,在windows下解压该工具可以使用该工具:http://download.youkuaiyun.com/detail/y_h_t/7218247
解压完成后,显示得到 thrift-0.9.1.tar ,进一步解压,然后得到 thrift-0.9.1 目录
打开该目录,进入 lib 目录下,里面就是各种语言对应的使用组件
我这里是用的c#,所以对应的目录是 \thrift-0.9.1\lib\csharp\src
打开该解决方案,编译,生成的 Thrift.dll ,这个便是我们要用到的 Thrift 在 c# 下的组件
第二步:创建 Thrift 脚本
PS:Thrift 脚本里面编写的代码是用来帮助我们生成 Thrift 在通讯中所支持的接口类型及通讯方法的,服务端和客户端通过对生成类文件的引用,双方即可实现对指定数据类型的可靠传输。
namespace java com.javabloger.gen.code # 注释1
struct Test { # 注释2
1: string id
2: string name
3: i64 createdTime
}
service ThriftCase {
i32 TestCase1(1:i32 num1, 2:i32 num2)
list<Test> GetList()
}
将上面的脚本拷贝到记事本,然后将记事本命名为 Test01.thrift
第三步:编译 Thrift 脚本,生成对应的类文件
Windows 下,下载 http://www.apache.org/dyn/closer.cgi?path=/thrift/0.7.0/thrift-0.7.0.exe
然后命令行执行:thrift-0.7.0.exe -gen csharp Test01.thrift
PS: thrift-0.7.0.exe 为上面我们下载的windows下 Thrift 的编译文件, csharp 为编译后生成 c# 的类, Test01.thrift 为上面我们自己创建的脚本文件
执行完上面的命令后,会在当前目录下生成 gen-csharp 这样的一个目录,里面包含两个文件:Test.cs 、 ThriftCase.cs
到此基础工作已经做好,下一步做一个Demo