2016windows(10) wamp 最简单30分钟thrift入门使用讲解,实现php作为服务器和客户端的hello world
2016-07-24 12:19
746 查看
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
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
相关文章推荐
- tpc三次握手和四次断开
- PHP函数之trim
- PHP学习之路之Smarty变量调节器
- TargetProcess 中更改了域名如何修改里面的附件地址
- thinkphp中create()方法实现简单的用户注册表单验证功能
- Yii2 render 和 renderPartial 问题
- php学习笔记(一)php模板与控制器
- 【问题解决】PHP 'Internal Server Error,500 error'
- PHP函数之array_key_exists
- ThinkPHP - 事务操作
- 使用PHP实现文件上传和多文件上传
- php 实现多文件上传程序代码
- php重写session的存储机制
- FragmentPagerAdapter刷新数据原理分析与解决
- ThinkPHP框架3.2.2中的一些坑,记录一下,省得以后再跳
- php迭代器举例
- php bool源码分析
- php ip,整数之间转化
- File input and output 01
- 让RHEL4也能使用TP-LINK 的TL-WN510G无线网卡