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

购买阿里云相关服务,这里可以领取优惠券, 有的产品5折优惠哟, 注意, 领取的优惠券30天内有效,尽快使用:
领取方式:进入链接后 页面下拉 一键领取全部 或者按需每次领取对应的优惠,领取链接:
点击此处链接领取
https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=s306eooi&utm_source=s306eooi
如果有需要, 可以帮助部署LNMP环境, 价格80,学生可以商量

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

  1. 全网最详细中英文ChatGPT接口文档(六)30分钟快速入门ChatGPT——使用策略和API数据使用策略

    30分钟快速入门使用ChatGPT--使用策略和API数据使用策略 Usage policies使用策略 Disallowed usage of our models 禁止使用我们的模型 API da ...

  2. Redis:30分钟从入门到精通 - 2P

    2019独角兽企业重金招聘Python工程师标准>>> 作者好牛逼,我不懂的他全都懂. Redis: Zero to Master in 30 minutes - Part 2 Pa ...

  3. 深度学习之30分钟快速入门PyTorch(附学习资源推荐)

    目录 1.Pytorch简介 1.0 如何使用本教程 1.1 PyTorch由来 1.2 Torch简介 1.3 重新认识PyTorch 1.4 PyTorch和Tensorflow的对比 1.5 总 ...

  4. Python数据分析~Pandas库30分钟快速入门

    目录 1  Pandas序列和数据表 2 Pandas数据聚合与分组运算 3 Pandas数据可视化 Pandas库在数据分析中是非常重要和常用的库,它利用数据框让数据的处理和操作变的简单和快捷.在数 ...

  5. 30分钟迅速入门Linux基本命令

    Linux学习笔记 Linux学习笔记 1. 目录结构 2. 文件基本属性 2.1 文件属性: 2.2 文件类型: 2.3 修改文件属性 2.3.1 chgrp :修改属组 2.3.2 chown : ...

  6. 30分钟正则表达式入门

    入门 \b代表着单词的开头或结尾,也就是单词的分界处.虽然通常英文的单词是由空格或标点符号或换行来分隔的,但是\b并不匹配这些单词分隔符中的任何一个,它只匹配一个位置. 如果同时使用其它的一些元字符, ...

  7. 30分钟轻松入门Spring MVC

    Spring MVC框架入门学习步骤 1.了解Spring MVC基本慨念, 是什么?,能干什么? 2.Spring MVC核心组件.底层实现原理 3.Spring MVC实际开发, 基于XML方式. ...

  8. (转)30分钟正则表达式入门

    原文地址:http://www.cnblogs.com/xiaohuzi1990/archive/2011/08/29/2157510.h 入门 \b代表着单词的开头或结尾,也就是单词的分界处.虽然通 ...

  9. 2018已经很冷,2019年Android工作或更难找—,30分钟轻松入门flutter

    大佬带你走进Android开发的世界,掌握了这些知识点,学习Android也可以很轻松. 核心分析内容 对于怎么学习Android,主要解决的是3个问题:学什么.怎么学 & 怎么用. 具体如下 ...

最新文章

  1. 【问题收录】Eclipse the import java.awt cannot be resolve 问题解决
  2. ompl_interface/OMPLPlanner
  3. Tech·Ed 2007大会课程内容
  4. qsettings mysql_qt连接mysql
  5. JavaWeb总结(四)
  6. CALL SYMPUT与CALL SYMPUTX区别
  7. 4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托
  8. 日志汇总:logging、logger
  9. python 属性描述符_Python属性描述符(二)
  10. opengl es3.0学习篇八:纹理
  11. 北京涛思数据获得 Pre A 轮融资,专注时序空间大数据领域
  12. android adb.exe端口占用
  13. python——import日常学习记录
  14. FontLab 7 for Mac(字体编辑器)
  15. 集合的一些练习题1(Collection+Map)
  16. 如何修改电脑的MAC地址(手把手更改)
  17. 理解析取范式及合取范式的意义
  18. chrome模拟手机功能
  19. mac解决mysql忘记密码的问题(亲测有效)
  20. 抽奖逻辑java_Java 利用binarySearch实现抽奖计算逻辑

热门文章

  1. mysql 双冒号_jdk8新特性之双冒号 :: 用法及详解
  2. 加载模型预测时出现Dst tensor is not initialized.
  3. linux 3gpp格式转换器,Movavi Video Converter
  4. python杂记(一)
  5. 百练OJ:2973:Skew数
  6. 《系统集成项目管理工程师》必背100个知识点-69简述合同管理的主要内容
  7. 《系统集成项目管理工程师》必背100个知识点-30工作分解结构(WBS)分解形式
  8. 笔记-项目管理ITTO-高项/PMP第五版-全
  9. 13个初中级Python程序员练习的项目开发实战
  10. Fabricjs对Canvas画布和对象的事件监听