当前位置: 首页 > news >正文

海南论坛网站建设凡科建站小程序

海南论坛网站建设,凡科建站小程序,wordpress 文章归档设置,做视频网站公司要怎么做thrift是一种常用rpc框架,工作中经常会用到,本文记录一下其安装过程。 目录 1.下载软件包 1.1thrift下载 1.2libevent下载 1.3boost下载 2.安装(注意步骤) 2.1安装libevent 2.2安装boost 2.3安装与Python2.7版本对应的py…

thrift是一种常用rpc框架,工作中经常会用到,本文记录一下其安装过程。

目录

1.下载软件包

1.1thrift下载

1.2libevent下载

1.3boost下载

 2.安装(注意步骤)

2.1安装libevent

2.2安装boost 

2.3安装与Python2.7版本对应的python-dev

2.4安装Thrift

 3.测试安装


1.下载软件包

1.1thrift下载

Apache Thrift - Downloadhttps://thrift.apache.org/download

1.2libevent下载

https://libevent.org/https://libevent.org/

1.3boost下载

Boost C++ Librarieshttp://www.boost.org/%C2%A0

 2.安装(注意步骤)

2.1安装libevent

tar -zxvf libevent-2.1.12-stable.tar.gz 
cd libevent-2.1.12-stable/
sudo ./configure --prefix=/usr/local/libevent
sudo make
sudo make install

2.2安装boost 

tar -zxvf boost_1_81_0_rc1.tar.gz 
cd boost_1_81_0/
sudo ./bootstrap.sh --prefix=/usr/local/boost
sudo ./b2
sudo ./b2 install

2.3安装与Python2.7版本对应的python-dev

sudo apt-get install python2.7-dev

2.4安装Thrift

https://dlcdn.apache.org/thrift/0.18.1/thrift-0.18.1.tar.gz
tar -zxvf thrift-0.18.1.tar.gz
cd thrift-0.18.1
chmod +x configure
sudo ./configure --with-boost=/usr/local/boost --prefix=/usr/local/thrift
sudo make
sudo make install

查看thrift版本:

/usr/local/thrift/bin/thrift -version

 3.测试安装

以官网协议StressTest.thrift为例:

/** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements. See the NOTICE file* distributed with this work for additional information* regarding copyright ownership. The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License. You may obtain a copy of the License at**   http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied. See the License for the* specific language governing permissions and limitations* under the License.*/namespace cpp test.stress
namespace d thrift.test.stress
namespace go stressservice Service {void echoVoid(),i8 echoByte(1: i8 arg),i32 echoI32(1: i32 arg),i64 echoI64(1: i64 arg),string echoString(1: string arg),list<i8>  echoList(1: list<i8> arg),set<i8>  echoSet(1: set<i8> arg),map<i8, i8>  echoMap(1: map<i8, i8> arg),
}

//同步代码生成
/usr/local/thrift/bin/thrift -r --gen cpp StressTest.thrift 

//异步代码生成
/usr/local/thrift/bin/thrift --gen cpp:cob_style StressTest.thrift 

备注: 

//生成java代码

thrift -r --gen java student.thrift  

//生成python代码
thrift -r --gen py student.thrift    

client.cpp

#include <iostream>
#include <string>
#include <thrift/transport/TTransportUtils.h>
#include <thrift/transport/TSocket.h>
#include <thrift/protocol/TBinaryProtocol.h>
#include "Service.h"using namespace  ::test::stress;
using namespace apache::thrift;
using namespace apache::thrift::protocol;
using namespace apache::thrift::transport;int main()
{std::shared_ptr<TSocket> socket(new TSocket("localhost", 9090));std::shared_ptr<TTransport> transport(new TFramedTransport(socket));std::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));ServiceClient client(protocol);transport->open();std::cout << "client echoByte byte=" << client.echoByte('A') << std::endl;std::cout << "send_echoByte('B')" << std::endl;client.send_echoByte('B');std::cout << "send_echoByte('C')" << std::endl;client.send_echoByte('C');std::cout << "recv_echoByte()" << client.recv_echoByte() << std::endl;std::cout << "recv_echoByte()" << client.recv_echoByte() << std::endl;transport->close();return 0;
}

客户端编译:

g++ -std=c++11 -I./gen-cpp -I/usr/local/thrift/include  -I/usr/local/libevent/include -I/usr/local/libevent/include/event2 -I/usr/local/boost/include  gen-cpp/Service.cpp  client.cpp -o client -L /usr/local/thrift/lib  -lthrift  -L /usr/local/libevent/lib -levent -L /usr/local/boost/lib -lboost_json

代码目录结构如下:

http://www.ds6.com.cn/news/47141.html

相关文章:

  • 国内外做gif的网站软文营销文案
  • 广告活动网站的策划360竞价推广登录入口
  • 网站内容排版运营推广
  • 做宣传用什么网站好网络推广方案设计
  • wordpress建企业网站注册城乡规划师含金量
  • 做网站什么是三网合一广州seo优化费用
  • 欧美只做les 网站seo优化网络公司排名
  • 青岛网站建设哪家专业企业管理培训课程报名
  • 网站建设的七个流程步骤北京互联网公司有哪些
  • 域名服务商怎么查询seo课程总结
  • 网站建设张世勇镇江网站建站
  • 可以做私募股权投资的网站福州百度推广电话
  • 无锡有多少家公司宁波seo推广
  • 039 织梦云idc网站源码网站关键词查询
  • vs网站制作教程宁波seo外包服务平台
  • 应用分发平台南京百度快速排名优化
  • 黑色系 网站哪里有永久免费建站
  • 免费广告行业网站建设网站的优化公司
  • 淘宝网站如何做虚拟海外网站推广优化专员
  • 三晋联盟做网站需要多钱优化网站的步骤
  • 天猫网站做真丝服装批发百度统计流量研究院
  • 比较好的网站建设品牌升级又有什么新病毒出现了
  • 遵义网站建设电子商务seo是什么意思
  • 网络游戏那个网站做的最好建立一个企业网站需要多少钱
  • 色盲seo优化操作
  • 企业做网站需要注意什么百度指数网
  • 同性恋色做视频网站有哪些怎么做网站广告
  • wordpress推广系统网站制作优化排名
  • 司法厅网站建设方案长沙百度推广排名
  • 网站建设前期如何做好市场定位分析提高网站排名的软件