Thrift C++ 服务器和客户端开发实例--学习笔记

本文详细介绍了使用Thrift在C++环境中构建服务器和客户端的步骤。从编写.thrift文件开始,然后通过thrift命令生成cpp代码,接着编写客户端程序,并对服务端代码进行相应修改。在完成编译链接后,成功运行服务器和客户端,展示出交互结果。
摘要由CSDN通过智能技术生成

C++服务器和客户端开发
参考:thrift下C++服务器和客户端开发
参考:ThriftUsageC++
参考:Thrift 入门教程
Thrift环境搭建:
Ubuntu环境下Thrift的安装、编译以及测试
ubuntu下thrift的安装

RPC框架之Thrift分析

Thrift示例二:
Thrift C++ 服务器和客户端开发实例–学习笔记二
ostringstream的清空方法

1 实现这个例子,我们大致要做以下几部分事情:

(1)书写.thrift文件

(2)生成cpp文件

(3)编写客户端

(4)编译cpp文件并执行

下面是详细的步骤:

(1)书写.thrift文件

学生信息是有结构的,所以我们使用thrift的struct即可,为了达到通信的目的,我们必须使用service。

所以最后书写成的student.thrift文件内容如下:

struct Student{
    1: i32 sno,
    2: string sname,
    3: bool ssex,
    4: i16 sage,
}

service Serv{
     void put(1: Student s),
     i32 icall(1: Student s),
     string scall(1: Student s),
     /*
         string& srcall(1: Student s),
         -----------------------------
         -thrift -r --gen cpp student.thrift
         -error:
         -   [ERROR:/root/test/thrift/student.thrift:12] (last token was '&')
         -   syntax error
         -   [FAILURE:/root/test/thrift/student.thrift:12] Parser error during include pass.
         -----------------------------
     */
     Student stcall(1: Student s),
}

(2)生成cpp文件

生成cpp文件很简单,只需要一个thrift命令即可:

/home/xiaoshe/opt/bin/thrift -r –gen cpp student.thrift

–gen 后指定生成的语言,生成的cpp存储在目录gen-cpp下

命令执行后,将会在./gen-cpp/目录下生成如下文件:

Serv.cpp

Serv.h

Serv_server.skeleton.cpp

student_constants.cpp

student_constants.h

student_types.cpp

student_types.h

注意文件的大小写:

Serv开头的文件是由service生成的,这个关键字很重要,下面还会见到以它开头的类。

student是根据student.thrift文件的名生成的。

这些文件可以进行编译,生成最初的服务端。

(3)编写客户端

使用thrift命令后,我们并没有得到我们想要的客户端client源代码,因此客户端程序要由我们自己编写实现。Cli

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值