- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Thrift框架使用教程
Thrift框架使用教程注:这个框架的强大之处在于它只需要写一个简单的thrift脚本就能生成不同语言的SourceCode,这些SourceCode包含了几乎所有Client端以及Server端代码,你只需要简单几句代码的调用就能达到想要的结果,轻松实现C-S交互的跨平台。1.安装下载页面:/download/??????????????其中,thrift-0.8.0.tar.gz是Thrift对应不同语言的源码,我们需要它来编译Library。??????????????Thrift compiler for Windows (thrift-0.8.0.exe)是针对windows平台的编译器,我们需要它在windows上编译thrift脚本。?2.编写thrift脚本编写thrift脚本的基本教程在官方wiki上有:??????????????/thrift/Tutorial?以下是一个最简单的例子:?structRequestStruct{??????????????1: i32 requestId??????????????2: i32 requestData}//定义一个请求包结构?structResponseStruct{??????????????1: i32 requestId??????????????2: string responseData}//定义一个响应包结构??//定义一个收发数据服务接口service SharedService{??????????????ResponseStructSendReceive(1: RequestStruct request)}?我们把它命名为sample.thrift?3.编译thrift脚本解压下载好的windows编译器,执行以下命令行对脚本进行编译:??????????????thrift_0.8.0_win32.exe -r --gen csharpsample.thrift其中,上面的csharp是要编译的目标语言,可以替换成你想要的语言。编译生成的代码在gen-csharp文件夹里。?4.编译Library解压下载好的Thrift源码,在lib文件夹下找到你所需语言的源码工程,使用该工程编译所需的Library。?5.使用(1) 先把从thrift脚本编译得到的代码和编译好的Library添加到你的项目里。?(2) Client端使用例子:??????????????//创建传输协议,这里用的是Socket,你也可以用Http等其它Thrift支持的协议??????????????TTransport transport =newTSocket(localhost, 9090);???????//创建数据交互协议,这里用的是Binary,你也可以用Jason等Thrift支持的协议???????TProtocol protocol =newTBinaryProtocol(transport);???????//创建client,这个Client是由thrift脚本自动生成的???????SharedService.Client client = newSharedService.Client(protocol);???????//与服务器交互开始???????transport.Open();???????//发送一个请求并等待服务器返回结果???????//请求包是由脚本的SendReceive接口的参数指定,下面的request就是请求包??????????????//响应包是由脚本的SendReceive接口的返回值指定,下面的result就是接收包???????RequestStruct request = newRequestStruct???????{??????????????RequestId= 0,??????????????RequestData= 1???????};???????ResponseStruct result = client.SendReceive(request);???????//停止交互???????transport.Close();?(3)Server端使用例子:???????//Server端首先要实现Iface接口,在这里对client端的请求进行处理,返回结果数据???????classServerHandler :SharedService.Iface???????{??????????????publicServerHandler(){}???????????????publicResponseStructSendReceive(RequestStruct request)?????????
您可能关注的文档
最近下载
- GB50863-2013 尾矿设施设计规范.docx VIP
- 2025年陕西省二级造价工程师职业资格考试《基础知识》真题及答案.docx VIP
- 人教版PEP三年级英语下册全册同步练习随堂练习一课一练版(有答案).pdf VIP
- 彩钢管理房单元工程施工质量评定表(1).doc VIP
- 江西婺源篁岭民俗文化村发展规划--规划说明.pdf
- IATF16949-2016事态升级控制规范.doc VIP
- 新收入准则对电商企业运营的影响及应对策略.docx VIP
- 东莞市地图含区县可编辑可填充动画演示矢量分层地图PPT模板.pptx VIP
- XX县2022年度自然资源统一确权登记项目技术设计书模版.docx VIP
- 女儿墙维修工程施工方案(3篇).docx VIP
文档评论(0)