zoukankan      html  css  js  c++  java
  • thrift入门(1) -- 安装配置

    thrift入门(1) -- 安装配置 - 李土鳖 - 博客园

    thrift入门(1) -- 安装配置

        thrift 是一个跨语言的通讯框架,支持c++, java, .net, python,php等。你可以用一种语言写一个服务器,然后另外一种语言写一个客户端,快速搭建一个rpc调用服务。而且它很轻量级,只要引入特定库便可以运行服务和客户端,不需要再安装配置其它复杂的环境和容器。

        下面介绍如何在ubuntu11.10上安装thrift0.8.0。   

    1. 下载thrift,页面http://thrift.apache.org/download/里有相应链接。
    我下的是0.8.0:
    wget http://labs.renren.com/apache-mirror//thrift/0.8.0/thrift-0.8.0.tar.gz

    2. 解压:
    tar -zxf thrift-0.8.0.tar.gz
    cd thrift-0.8.0

    3. 安装依赖:
    sudo apt-get install libboost-dev automake libtool flex
    bison pkg-config g++ autoconf autotools-dev flex libtool byacc

    4. ./configure && make && make install

    上面如果没出什么问题的话就安装好了。

    注意:如果是安装thrift-0.9.0,则需要把qt功能关掉,否则会出错。,
    另外如果在ubuntu下面安装,在make install的适合可能会遇到权限问题,因为需要复制一些文件到系统目录,所以需要sudo。
    ./configure --with-qt4=no && make && sudo sudo make install

    下面我们用python简单的测试一下是否安装成功。

    1. 首先构建python的thrift库:

    cd lib/py
    sudo python setup.py install

    2. 生成python例子的相关代码: 

    cd http://www.cnblogs.com/tutorial
    thrift --gen py thrift.thrift
    thrift --gen py shared.thrift
    cp py/* gen-py
    cd gen-py

    3.运行例子:
     python PythonServer.py &
    python PythonClient.py

    我运行的时候报错,说getaddrinfo参数类型错误。看了一下源码,发现TSocket类的构造方法第一个参数是host,第二个是port。二PythonServer.py代码里面只给了一个参数,是端口9090。TSocket构建的时候将端口当成了host,类型不对,所以报错。将PythonServer.py的84行改一下就好了》

    老的:transport = TSocket.TServerSocket("localhost",9090)

    新的:transport = TSocket.TServerSocket(9090)

    好了,收功了,以后我会讲一下如何用java搭建服务,php调用。

  • 相关阅读:
    Linux 内核编码风格
    三种批量插入数据的方法
    一次清除SQL SERVER错误日志的体会!
    打开潘多拉的魔盒——软件设计过程(1)——序
    bloom特效
    wcf基础知识之端口共享 portSharing
    高质量代码(一)
    Luence使用IKAnalyzer分词实例 及 IKAnalyzer扩展词库
    通过什么来衡量C# Socket服务的效能
    iOS开发进阶之静态链接库
  • 原文地址:https://www.cnblogs.com/lexus/p/3145848.html
Copyright © 2011-2022 走看看