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