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这样下载和进行相应的包选择和目录结构部署,具体可以参照其他博客)

  1. 下载thrift的.exe软件
  2. 下载thrift的各个语言的包(作用执行搜索) 如下:
  3. 写一个thrift文件(通过它你你告诉thrift你要做什么工作,具体实现它会在生成代码时自动搞定,这就是thrift的作用),用thrift的.exe进行编译生成对应的代码,这是通过一个命令实现的。这些代码好像不用做修改,thrift好像是通过这些代码实现了具体的过程。每次修改thrift结构就应该生成一次。
  4. 客户端和服务器端(最简单的理解:服务端就是你的网站或应用,你需要去获取别人Java等语言写的接口提供的数据,对方就相当于是服务器)
  5. 把下载的thrift的各个语言的包按照规定格式放到网站目录结构下-参考我的:thrift包结构,从中选取自己对应语言的包(我是用php作为服务器,所以选择的是php的包):
  6. thrift测试项目的目录结构命名要求,注意,使用我参照的两个博客的程序时,圈出的文件夹名称必须这样命名(当然你可以修改程序中对应的目录来调整这一点): 

更复杂的数据结构定义,数据类型等自行参考示例进行修改,加油。

实现了我自己的thrift输出 hello world,脱离了公司的那个demo:

参见借用了博客的客户端和服务器代码: http://my.oschina.net/penngo/blog/496992 thrift文件代码: http://my.oschina.net/penngo/blog/489311

2016windows(10) wamp 最简单30分钟thrift入门使用讲解,实现php作为服务器和客户端的hello world的更多相关文章

  1. AngularJS 30分钟快速入门【译】

    引用自:http://www.revillweb.com/tutorials/angularjs-in-30-minutes-angularjs-tutorial/,翻译如下: 简介 我三年前开始使用 ...

  2. Python 30分钟快速入门指南

    学习地址 中文版:Python 30分钟入门指南 英文版:Learn X in Y minutes 学习时间 2019/03/10 19:00 - 19:32,多用了2分钟.

  3. 30 分钟快速入门 Docker 教程

    原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. 一.欢迎来到 Docker 世界 1. ...

  4. LeakCanary,30分钟从入门到精通

    简述 在性能优化中,内存是一个不得不聊的话题:然而内存泄漏,显示已经成为内存优化的一个重量级的方向.当前流行的内存泄漏分析工具中,不得不提的就是LeakCanary框架:这是一个集成方便, 使用便捷, ...

  5. vue.js-vue入门教程教你如何html中使用vue(30分钟快速入门)

    前后端分离.微服务框架是当下比较流行的词汇,而vue就是前端框架的佼佼者.下面重点介绍一下vue的用法: vue起步:1.引包    2.启动new Vue({el:目的地,template:模板内容 ...

  6. 30分钟Maven入门到精通

    Maven是近年来最流行的项目构建与管理工具.不仅简化了我们开发过程中对jar包依赖的导入,还对项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等所有构建过程进行了抽象和统一,方便 ...

  7. Unreal Engine 4 系列教程 Part 10:制作简单FPS游戏

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  8. js_一个简单的30分钟循环倒计时

    吐槽段: 需求的变更是千变万化的,至少在你说服和你打交道的那位谁谁谁之前. 创业公司就是这样,产品经理一个想法,就是改改改,管你改起来复杂不复杂,在他们眼里都是非常简单的. 今天的一个小改动需求,把活 ...

  9. 用ab每隔30分钟并发一次休息10分钟

    linux脚本监控程序运行情况(重启程序)主要有两种情况:一种是一个可执行文件:如shell脚本文件:另一种是使用python打开的多个程序.第一种:它的进程名字由路径名字和程序名字组成,比如:我有个 ...

随机推荐

  1. github with msysgit:配置SSH Key

    Step 1: Check for SSH keys First, we need to check for existing ssh keys on your computer. Open up G ...

  2. react+redux官方实例TODO从最简单的入门(1)-- 前言

    刚进公司的时候,一点react不会,有一个需求要改,重构页面!!!完全懵逼,一点不知道怎么办!然后就去官方文档,花了一周时间,就纯react实现了页面重构,总体来说,react还是比较简单的,由于当初 ...

  3. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  4. PSD文件在MAC上和在WINDOWS上的大小有本质区别

    因为偷懒在MAC上的美工,发我的PSD文件,我就直接在上面做了= =后来不知道为什么无论我怎么合并图层.PSD的大小永远都是107M....然后忍无可忍重新画就从107M变成2M.....MAC为什么 ...

  5. Django模板与Vue.js冲突问题

    参考: https://my.oschina.net/soarwilldo/blog/755984 方法1:修改vue.js的默认的绑定符号 Vue.config.delimiters = [&quo ...

  6. Sublime 3 如何配置SVN插件

    在sublime里面安装svn的插件,就可以在sublime的操作界面里面进行相关svn操作,这样就不用再回到文件系统中,进行相关svn的操作. 1.在进入sublime界面后,点击顶部菜单“Pref ...

  7. 基于SSM的租赁管理系统0.2_20161225_开发环境

    项目环境搭建 1. 开发环境 Sybase PowerDesigner 15.1.0 + MySQL 5.7.15 + Navicat 11.0.9 + eclipse EE Mars 2.0 + F ...

  8. 破解myEclipse

    建立一个java项目,将reg.java放入,并且运行在控制台 输入账户 回车就会出现 序列号 菜单栏--->myeclipse-->substription information--- ...

  9. Dcloud HTML5 监听蓝牙设备 调用 原生安卓实现

    最近一直搞Dcloud ,这是HTML5版本的开发,打包时候,可以打包成 apk 和ipa 分别运行在安卓和ios 机器上面, 但是这里面的资料很少,遇到问题,之后只能自己钻研总结, 现在有这么一个需 ...

  10. 在c#中的TextBox响应回车键发出“咚”的一声解决方法

    在Win7系统的VS2012下的Form中,响应TextBox的KeyDown事件后,当按下回车键时发出"咚"的一声,百度后得到一下这样一个说法: 这是对于 windows 窗口标 ...