Thrift初使用Erlang+cpp

   ************写在最前面************

    个人比较喜欢Thrift,它可以高效的解决不同编程语言之间的交互问题,使不同编程语言可以很轻松地进行交互,完成软件抑或是系统的架构。

    Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现。

    Facebook使用的几种不同的语言和不同的services。 PHP是最终用于前端,Erlang是用于聊天,Java和C ++也使用于多种场所,也许还有其他语言。Thrift是一个内部开发的跨语言的框架,联系语言,使他们可以在一起合作,从而使他们之间可以交互。 这使得Facebook可以更容易为继续保持其跨语言的发展。

 Facebook已经让Thrift开源。更多的语言支持已被添加到Thrift。

   Thrift的框架介绍,可以详见董的博客 

    http://dongxicheng.org/search-engine/thrift-framework-intro/

 

    小弟就不在此谈论了。

 

***Thrift的安装***

 

1、安装环境

      可以在Linux、win下进行安装,当然在win环境下安装时,需要在win安装相应的插件

      在Linux下安装前,需要确保操作系统中有相应的语言编译器,如gcc、g++、erl等,根据自己的需要进行安装

2、获取安装包

      我用的是thrift-0.2.0-incubating.tar.gz版本,有更高的版本可根据自己的需要下载

3、安装

     1、解压

      这一步,习惯Linux的人群,都应该不陌生

       tar zxvf thrift-0.2.0-incubating.tar.gz

     2、./bootstrap.sh

     3、编译

        ./configure(时间不是很长)

    4、make(时间稍微有点长)

    5、install 

      这一步需要有超级用户的权限

      sudo make install 

4、安装完成之后,输入thrift之后,如果出现thrift的输入帮助,就说明,thrift已经安装成功

 

***Thrift简单使用***

 

以CPP和Erlang交互编程为例

 

1、进入/thrift-0.2.0/tutorial文件

2、启动Erlang服务器

      thrift -r -gen erl  tutorial.thrift

     编译成功之后,就会出现gen-erl文件夹

    进入erl文件夹,启动./server.sh

    进入erl shell中,输入命令server:start().至此,erlang服务器端已经启动

3、启动CPP客户端

    进入cpp文件夹

    使用make进行编译

    ./CppClient 启动cpp客户端

4、出现计算结果后,表明,erlang和cpp的交互编程已经成功。

 

ps:要确保服务器端和客户端的socket端口一致

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Thrift WebSocket是使用C++语言编写的一种实现Thrift协议的通信方式。Thrift是一种跨语言的高性能、可扩展的服务框架,可以用于构建可靠的客户端和服务端之间的通信。 Thrift WebSocket使用WebSocket协议作为底层通信协议,WebSocket是一种基于TCP的全双工通信协议,可以在客户端与服务端之间进行实时的数据交互。Thrift将其封装成了一种适用于C++的库,可以通过Thrift WebSocket在C++中实现跨语言的通信。 通过Thrift WebSocket,我们可以在C++中创建一个Thrift客户端或服务端,并且将其与其他不同语言的客户端或服务端进行连接。Thrift通信是基于IDL(Interface Definition Language)进行的,通过定义接口、结构体和方法等来进行通信。Thrift会根据IDL文件生成对应的代码,然后我们可以在代码中调用这些生成的接口来进行通信。 使用Thrift WebSocket,我们可以实现高性能的、可扩展的跨语言通信。与传统的RPC(Remote Procedure Call)相比,Thrift在序列化和反序列化上采用了自定义的二进制协议,可以提高通信的效率。同时,由于Thrift支持多种编程语言,我们可以在C++中使用Thrift WebSocket与其他语言的客户端或服务端进行互操作。 总而言之,Thrift WebSocket是一种使用C++语言实现的Thrift协议通信方式,可以在C++中实现与不同语言的客户端和服务端之间的跨语言通信。它使用WebSocket作为底层通信协议,同时依托于Thrift的高性能和可扩展性,可以提供高效、可靠的通信解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值