2016最简单windows(10) wamp 30分钟thrift入门使用讲解,实现php作为服务器和客户端的hello world
thrift是什么 最简单解释 thrift是用来帮助各个编程语言之间进行通信,交换信息的一个框架(可以理解成一个工具,或者假象成一个软件)。因为正常情况下php与java等语言无法进行数据的传递,当然平时我们运用接口传递jeson数据实现。但是使用thrift会有它的优势,我看到是说他的数据传输方式使得数据传输量很小,这方面可以自己搜索了解。 例如: 有人写了一个Java程序,可以给一些数据,你是php写的网站,你需要这些数据,你怎么获取?因为Java的数据结构和类型等都与php有区别。所以就用thrift来实现中间的转换,具体怎么转换的你不用关心。就像你用QQ,你只需和好修发消息聊天就是了,QQ怎么发送怎么接收的你根本不用管。
具体实现:
注意: 本例子中程序代码是参照那两篇博客的代码,所以有些东西只是针对这写代码的要求,可以自行调整。 另外注意:我在官网上看到这个
注意: 安装thrift环境需要在官网下载2个东西,一个是软件.exe文件,一个是各个语言的包--大概是用于软件实现各个语言的数据传输交互的具体是实现(但是注意: windows会有对应的包需要下载,但是linux环境下安装过程好像实现了对应的包的部署,不用再想windows这样下载和进行相应的包选择和目录结构部署,具体可以参照其他博客)
- 下载thrift的.exe软件
- 下载thrift的各个语言的包(作用执行搜索) 如下:
- 写一个thrift文件(通过它你你告诉thrift你要做什么工作,具体实现它会在生成代码时自动搞定,这就是thrift的作用),用thrift的.exe进行编译生成对应的代码,这是通过一个命令实现的。这些代码好像不用做修改,thrift好像是通过这些代码实现了具体的过程。每次修改thrift结构就应该生成一次。
- 客户端和服务器端(最简单的理解:服务端就是你的网站或应用,你需要去获取别人Java等语言写的接口提供的数据,对方就相当于是服务器)
- 把下载的thrift的各个语言的包按照规定格式放到网站目录结构下-参考我的:thrift包结构,从中选取自己对应语言的包(我是用php作为服务器,所以选择的是php的包):
- thrift测试项目的目录结构命名要求,注意,使用我参照的两个博客的程序时,圈出的文件夹名称必须这样命名(当然你可以修改程序中对应的目录来调整这一点):
更复杂的数据结构定义,数据类型等自行参考示例进行修改,加油。
实现了我自己的thrift输出 hello world,脱离了公司的那个demo:
参见借用了博客的客户端和服务器代码: http://my.oschina.net/penngo/blog/496992 thrift文件代码: http://my.oschina.net/penngo/blog/489311