欢迎来到天天文库
浏览记录
ID:37712022
大小:19.73 KB
页数:5页
时间:2019-05-29
《Thrift框架使用教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Thrift框架使用教程注:这个框架的强大之处在于它只需要写一个简单的thrift脚本就能生成不同语言的SourceCode,这些SourceCode包含了几乎所有Client端以及Server端代码,你只需要简单几句代码的调用就能达到想要的结果,轻松实现C-S交互的跨平台。1.安装下载页面:http://thrift.apache.org/download/ 其中,thrift-0.8.0.tar.gz是Thrift对应不同语言的源码,我们需要它来编译Library。
2、 ThriftcompilerforWindows(thrift-0.8.0.exe)是针对windows平台的编译器,我们需要它在windows上编译thrift脚本。 2.编写thrift脚本编写thrift脚本的基本教程在官方wiki上有: http://wiki.apache.org/thrift/Tutorial 以下是一个最简单的例子: structRequestStruct{ 1:i32requestId 2:i32r
3、equestData}//定义一个请求包结构 structResponseStruct{ 1:i32requestId 2:stringresponseData}//定义一个响应包结构 //定义一个收发数据服务接口serviceSharedService{ ResponseStructSendReceive(1:RequestStructrequest)} 我们把它命名为sample.thrift 3.编译thrift脚本解压下载好的w
4、indows编译器,执行以下命令行对脚本进行编译: thrift_0.8.0_win32.exe-r--gencsharpsample.thrift其中,上面的csharp是要编译的目标语言,可以替换成你想要的语言。编译生成的代码在gen-csharp文件夹里。 4.编译Library解压下载好的Thrift源码,在lib文件夹下找到你所需语言的源码工程,使用该工程编译所需的Library。 5.使用(1)先把从thrift脚本编译得到的代码和编译好的Library添加到你的项目里。 (2
5、)Client端使用例子: //创建传输协议,这里用的是Socket,你也可以用Http等其它Thrift支持的协议 TTransporttransport=newTSocket("localhost",9090); //创建数据交互协议,这里用的是Binary,你也可以用Jason等Thrift支持的协议 TProtocolprotocol=newTBinaryProtocol(transport); //创建client,这
6、个Client是由thrift脚本自动生成的 SharedService.Clientclient=newSharedService.Client(protocol); //与服务器交互开始 transport.Open(); //发送一个请求并等待服务器返回结果 //请求包是由脚本的SendReceive接口的参数指定,下面的request就是请求包 //响应包是由脚本的SendReceive接口的返回值指定,下面的result
7、就是接收包 RequestStructrequest=newRequestStruct { RequestId=0, RequestData=1 }; ResponseStructresult=client.SendReceive(request); //停止交互 transport.Close(); (3)Server端使用例子: //Server端首先要实现Iface接口,在这
8、里对client端的请求进行处理,返回结果数据 classServerHandler:SharedService.Iface { publicServerHandler(){} publicResponseStructSendReceive(RequestStructrequest
此文档下载收益归作者所有