thrift服务端的c++语言实现
2016-01-17 10:21
363 查看
thrift服务端的c++语言实现
1.thrift 概念1thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在
C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。
thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。
thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。
2.生成c++语言的thrift服务端
利用thrift软件框架进行开发要首先进行环境的搭建,安装thrift运行库。
基本流程如下:
1)定义数据类型和服务接口文件:test.thrift;
2)利用代码生成引擎生成服务端框架,thrift --gen cpp test.thrift;
3)在./gen-cpp/test_server.skeleton.cpp文件中添加定制的服务;
4)编写客户端程序向服务端请求服务。
详细过程可以参加注释2给出的链接地址。
thrift定义了自己的数据类型,从而实现了跨语言平台之间的数据交换,关于thrift数据类型的详细说明可以参加注释3给出的链接地址。
3.php客户端
基于c++语言实现的thrift服务端程序经常被用在网站的后台提供实时且高效的服务,通常客户端程序是php语言的实现版本。只要根据数据类型和服务接口文件test.thrift生成php语言的接口文件即可用来调用。方法是thrift --gen php test.thrift,调用该命令后会在工作目录下生成./gen-php目录,里面有php语言的接口文件。
注释:
1)来源于百度百科;
2)http://wiki.apache.org/thrift/ThriftUsageC%2B%2B
3)http://thrift.apache.org/docs/types/
相关文章推荐
- C函数的调用过程 栈帧
- C++ 学习笔记(一些新特性总结 1)
- C++ 学习笔记(一些新特性总结 1)
- C语言变量声明内存分配
- c++ 程序设计 week4 运算符重载
- Sicily 13476. 完数问题
- C++虚函数实现机制
- 学习C语言之前的准备工作
- Odd Even Linked List leetcode 328
- c++ 经验总结
- for_each算法和transform算法区别
- C语言基本内容(二)
- c++经典开发源码
- 【c++】智能指针
- C++中的内存分配
- vc++实现avi文件的操作
- 蓝桥杯 c++_ch02_01
- temp = (temp & 0x55555555) + ((temp & 0xaaaaaaaa) >> 1)
- Sicily 12986. An Odd Sum
- 【LeetCode-263】Ugly Number(C++)