Thrift第三课 编写脚本

警告

    尽量使用tutorial下面的模板,注意脚本的格式,否则生成错误

使用thrift-0.9.0生成C++/csharp代码

使用的指令如下:

thrift-0.9.0.exe --gen cpp thriftcom.thrift

thrift-0.9.0.exe --gen csharp thriftcom.thrift


1 注释

有如下的三种方式

1)// 

2)/**/

支持C语言的注释方法

3)#


2 命名空间

namespace cpp tutorial


namespace d tutorial


namespace java tutorial


namespace php tutorial


namespace perl tutorial


3 脚本嵌套

include "shared.thrift"


4 基本类型

*  bool        Boolean, one byte

 *  byte        Signed byte

 

*  i16         Signed 16-bit integer

 

*  i32         Signed 32-bit integer

 

*  i64         Signed 64-bit integer

 

*  double      64-bit floating point value

 

*  string      String

 *  binary      Blob (byte array)

 

*  map<t1,t2>  Map from one type to another

 

*  list<t1>    Ordered list of one type

 

*  set<t1>     Set of unique elements of one type


4 定义结构体


struct SharedStruct 

{

 

 1: i32 key;

  

 2: string value;


}




5 例子


service SharedService 

 SharedStruct getStruct(1: i32 key);

}


6 双向通信使用oneway关键字修饰

oneway修饰一个方法的时候,意味着客户端仅仅是发送请求,而没有监听反馈信息,

并且oneway方法必须是void,这个非常容易理解,因为返回值实际上就保存在

反馈信息当中,既然没有监听反馈信息,当然没有返回值

链接提供了oneway方法在网络不佳情况下,可能会丢包的说明

oneway定义的双向通信,主要是避免反馈消息互相干扰


参考

http://blog.csdn.net/lovemdx/article/details/9829457






     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/2071769,如需转载请自行联系原作者


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279796.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【加更】搭建基于chatgpt的钉钉聊天机器人

应某些小伙伴的加更请求&#xff0c;出一期基于钉钉上的聊天机器人&#xff0c;我顺便加更一期&#xff0c;搭建一个钉钉聊天机器人的小教程。首先进入到钉钉开放平台的后台管理系统&#xff1a;https://open.dingtalk.com/进入到 应用开发->企业内部开发->机器人右上角选…

word中 有注释标签吗_如何在Word中注释图像

word中 有注释标签吗If you’re writing a document that includes images, you may want to add annotations to those images to clarify what they represent. You can add callouts to your images to point out particular parts of the image and add text to describe t…

Lang.String

StringBuilder 原文&#xff1a; public final class StringBuilder extends Object implements Serializable, CharSequence A mutable sequence of characters. This class provides an API compatible with StringBuffer, but with no guarantee of synchronization. This c…

牛客网暑期ACM多校训练营(第二场)J farm (二维树状数组)

题目链接&#xff1a; https://www.nowcoder.com/acm/contest/140/J 思路&#xff1a; 都写在代码注释里了&#xff0c;非常好懂。。 for_each函数可以去看一下&#xff0c;遍历起vector数组比较方便&#xff0c;用for(int i 0;i < q[i].size();i)的话&#xff0c;是会有一…

微软IE 9 Beta全程体验图集

微软刚刚更新了IE 9 Beta的新页面&#xff0c;此次发布的Beta版本一共有27个国家的语言&#xff0c;其中也包括了简体中文和香港和台湾的繁体中文版。 点击此处进入下载页面&#xff1a; http://windows.microsoft.com/zh-CN/internet-explorer/download/ie-9/worldwide IE9的热…

.net core中Quartz的使用方法

我们在日常开发中&#xff0c;总会遇到这样的需求&#xff1a;每隔一段时间&#xff0c;执行一次某个任务。固定某个时间执行任务&#xff0c;例如凌晨12点对当天的数据进行统计。每个月的第几天&#xff0c;执行某个任务。Quartz.Net是根据Java的Quartz用C#改写而来&#xff0…

AspectJ学习笔记

介绍 AspectJ是一个基于Java语言的AOP框架Spring2.0以后新增了对AspectJ切点表达支持AspectJ是AspectJ1.5新增功能&#xff0c;通过JDK5注解技术&#xff0c;允许Bean类中定义切面&#xff0c;新版本Spring框架&#xff0c;建议使用AspectJ方式来开发AOP主要用途&#xff1a;自…

windows10访客_如何在Windows 10中创建访客帐户

windows10访客If you find that your guests are asking fairly often to use your computer temporarily to check their email or look something up on the web, you don’t have to let them use your personal account or create a special account for each guest. 如果发…

C#使用 System.Net.Mail发送邮件功能

介绍System.Net.Mail命名空间是在.NET Framework中新增的&#xff0c;该命名空间提供了发送电子邮件的功能。通过对本章的学习&#xff0c;读者可以轻松地使用.NET Framework提供的类库来发送电子邮件。System.Net.Mail 命名空间包含用于将电子邮件发送到SMTP服务器的类&#x…

初识smarty

个人体会(不完全正确)&#xff1a;就是smarty就是为了更好的使得php/html结合做出来的一个框架。 , 转载于:https://www.cnblogs.com/nul1/p/9357694.html

几个有趣的算法题目

本文首发 http://svtter.cn最接近的数字 题目 一个K位的数N $$ (K\leq2000&#xff0c;N\leq10^{20}) $$ 找出一个比N大且最接近的数&#xff0c;这个数的每位之和与N相同&#xff0c;用代码实现之。 例如&#xff1a;0050 所求书数字为0104&#xff1b;112 所求数为121&#x…

获取一篇新闻的全部信息

给定一篇新闻的链接newsUrl&#xff0c;获取该新闻的全部信息 标题、作者、发布单位、审核、来源 发布时间:转换成datetime类型 点击&#xff1a; newsUrlnewsId(使用正则表达式re)clickUrl(str.format(newsId))requests.get(clickUrl)newClick(用字符串处理&#xff0c;或正则…

上twitter_如何在Twitter上更改您的显示名称

上twitterUnlike Facebook, Twitter has never insisted people user their real names. In fact, there’s a long tradition of people changing their names to a joke or pun because it’s Christmas or Halloween, or just for no reason at all. 与Facebook不同&#xf…

技术走向管理一些思考(1)-性格特质和自我管理

技术走向管理一些思考-文件夹 1&#xff0c;管理需具备的性格特质 赞赏他人&#xff1a;以一种不以自我为中心的合作的方式和他人相处&#xff0c;能平静和客观地接受不同的人。放下自己的性格、喜好&#xff0c;去赞赏不同类型的人。不是通过个人友谊或者熟悉程度。而是通过某…

网桥

配置实现网桥 网桥&#xff1a;即桥接 把一套机器上的若干个网络接口 “连接” 起来&#xff0c;其结果是&#xff0c;其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备&#xff0c;它有若干个网口&#xff0c;并…

Newtonsoft.Json Deserialize Type 或者 同类型 变量 反序列化

Newtonsoft.Json 经常再用 这样的需求 还是很少用 场景 方法一&#xff1a;根据 Type 反序列化 int demo 0; string jsongString JsonConvert.SerializeObject(demo); int jsonDemo JsonConvert.DeserializeObject(jsongString, demo.GetType()); 方法二 根据 同类型变量 序…

raspberry pi_在月光下将Raspberry Pi变成蒸汽机

raspberry piValve’s Steam Machines aim to bring your Steam game library right into your living room (but at a rather steep premium). Today we’ll show you how to bring your Steam library (plus all your other computer games) to your living room for a fract…

文档测试【转载】

原文来自&#xff1a;51Testing软件测试网采编 作者&#xff1a; 仙灵测试(sinablog) 原文链接&#xff1a;http://www.51testing.com/html/61/n-237961.html 1、文档的种类 ● 联机帮助文档或用户手册 这是人们最容易想到的文档。用户手册是随软件发布而印制的小册子…

NOI2019省选模拟赛 第三场

传送门 明明没参加过却因为点进去结果狂掉\(rating\)…… \(A\) 集合 如果我们记 \[f_k\sum_{i1}^nT^i{n-i\choose k}\] 那么答案显然就是\(f_{k-1}\) 然后就可以开始推倒了 \[ \begin{aligned} f_k &\sum_{i1}^nT^i{n-i\choose k}\\ &\sum_{i1}^nT^i{n-i-1\choose k}\…

MySql数据库出现 1396错误

1、安装MySql数据库后。创建新的用户。有可能会出现 1396这个错误&#xff0c; 2、解决的办法如下&#xff1a;假装有你需要创建的这个用户、先删了。再创建。 3、这样就可以解决用户创建不成功的问题了。 转载于:https://www.cnblogs.com/chifa/p/9362882.html