网站备案一般要多久pr免费模板网站

news/2025/9/24 17:26:54/文章来源:
网站备案一般要多久,pr免费模板网站,WordPress的cookie,免费虚拟房屋设计软件转载自Thrift在Windows及Linux平台下的安装和使用示例 thrift介绍 Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的RPC(远程服务调用)框架。 本文主要目的是分别介绍在Windows及Linux平台下的Thrift安装步骤#xff0c;以及实现一个简单的demo演示Thrif…转载自Thrift在Windows及Linux平台下的安装和使用示例 thrift介绍 Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的RPC(远程服务调用)框架。 本文主要目的是分别介绍在Windows及Linux平台下的Thrift安装步骤以及实现一个简单的demo演示Thrift的使用方法。更多Thrift原理留在以后再行介绍。 thrift安装 源码下载thrift官网或者thrift-github地址我下载的是thrift-0.9.3.tar.gz。 安装依赖库 boost boost的编译就不再这里介绍了我分别使用了boost1.55或boost1.49编译通过libevent 按需编译如果不需要异步server就可以不编译libevent否则可以点此下载libevent-2.0.21-stableopenssl 下载针对你系统版本的openssl库windows下有编译好的二进制文件可以直接下载32位/62位系统openssl Linux发行版一般都自带ssl库 thrift在Windows下的安装 我是在Windows7 64bit VS2010编译的。 Windows下编译倒也不麻烦简单介绍如下 解压缩源代码进入到lib\cpp目录下打开Thrift.sln里面有libthrift和libthriftnb两个工程其中libthrift工程是常规的阻塞型server端单线程server一个连接一个线程server线程池serverlibthriftnb工程是非阻塞non-blocking模式的服务server端也只有编译libthriftnb时才需要依赖libevent库否则可以不编译libevent库设置依赖库头文件和库文件这就不再介绍了编译顺利的话就OK了会在lib\cpp\Debug目录下生成libthrift.lib和libthriftnb.lib如果编译的话 说明 thrift-0.9.3这一版的release其实在windows下是编译不过的因为vs工程中要编译的Thrift.cpp已经不存在了从工程中移除就可以顺利编译了参考thrift-pull-739。 另外还可以自行编译thrift文件的生成工具当然也可以直接从官网下载这里给出编译步骤 将compiler\cpp\src\windows\version.h.in文件拷贝到compiler\cpp\src\目录下并重命名为version.h到compiler\cpp目录下打开compiler.sln编译即可 thrift在linux(Centos)下的安装 我是在Centos6.4 64bitg 4.4.7编译的编译很简单分别可以使用cmake或者make工具进行编译这里不再多做介绍当然编译过程中缺少了某些库什么的就先按照即可更详细的步骤请看本文的参考文章链接。 开发步骤 写一个.thrift文件也就是IDLInterface Description File接口描述文件用Thrift的IDL生成工具windows下就是上面提供下载链接的thrift-0.9.1.exe Linux下就是/usr/local/bin/thrift程序 然后根据需要生成目标语言代码server端程序引入第2步生成的代码实现RPC业务代码client端程序引入第2步生成的代码实现RPC调用逻辑用第4步生成的程序就可以调用第3步实现的远程服务了 入门示例 下面就演示一个简单的server端和client端程序。 设计thrift文件IDL 假设实现这么一个简单服务client通过hello接口发送自己的名字且需要server端回复比如 hello.thrift: service HelloService {void hello(1: string name); } 通过IDL工具生成源代码 执行thrift命令生成源文件 thrift --gen cpp hello.thrift # centos下 thrift-0.9.3.exe --gen cpp hello.thrift # Windows下 thrift-0.9.3.exe --gen py hello.thrift # Windows下python代码 以上命令表示生成C语言的源代码然后会生成一个gen-cpp目录里面包含自动生成的几个源代码文件 hello_constants.cpp hello_constants.h HelloService.cpp HelloService.h HelloService_server.skeleton.cpp hello_types.cpp hello_types.h 实现server端程序 HelloService_server.skeleton.cpp就是默认的server端程序入口可以直接修改该文件或者拷贝一份再做修改我是拷贝并重命名为server.cpp以便增加自己的逻辑处理 class HelloServiceHandler : virtual public HelloServiceIf {public:HelloServiceHandler() {// Your initialization goes here}void hello(const std::string name) {// Your implementation goes here// 这里只简单打印出client传入的名称printf(hello, I got your name %s\n, name.c_str());} }; 如果是在linux平台下直接通过g编译 g -o server hello_constants.cpp HelloService.cpp hello_types.cpp server.cpp -I/usr/local/include/thrift -L/usr/local/lib -lthrift 如果是在Windows平台下通过vs2010新建win32控制台工程将gen-cpp目录下的所有文件复制到新工程下设置头文件包含和lib库目录。 比如设置libthrift.lib的头文件目录为thrift-0.9.3\lib\cpp\src\thriftlib库目录为thrift-0.9.3\lib\cpp\Debug。 实现client端程序 因为没有默认的client实现所以需要新建一个client.cpp文件自己增加实现 #include stdio.h #include string #include transport/TSocket.h #include protocol/TBinaryProtocol.h #include server/TSimpleServer.h #include transport/TServerSocket.h #include transport/TBufferTransports.h #include hello_types.h #include HelloService.h using namespace ::apache::thrift; using namespace ::apache::thrift::protocol; using namespace ::apache::thrift::transport; using namespace ::apache::thrift::server; using boost::shared_ptr;int main(int argc, char** argv) {shared_ptrTTransport socket(new TSocket(localhost, 9090));shared_ptrTTransport transport(new TBufferedTransport(socket));shared_ptrTProtocol protocol(new TBinaryProtocol(transport));HelloServiceClient client(protocol);try{transport-open();client.hello(cpper.info);transport-close();}catch(TException tx){printf(ERROR:%s\n,tx.what());} } 如果是在linux平台下直接通过g编译 g -o client client.cpp hello_constants.cpp HelloService.cpp hello_types.cpp -I/usr/local/include/thrift -L/usr/local/lib -lthrift 如果是在Windows平台下通过vs2010新建win32控制台工程将gen-cpp目录下的所有文件除HelloService_server.skeleton.cpp之外复制到新工程下并增加上面手动实现的client.cpp。 通过以上步骤就实现一个简单的RPC server和client程序了可以分别运行进行测试看看效果怎么样。 Reference Thrift官方安装手册译

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手把手教你做网站做网站设计的都转行干啥了

一、前言 spring为开发人员提供了两个搜索注解的工具类,分别是AnnotatedElementUtils和AnnotationUtils。在使用的时候,总是傻傻分不清,什么情况下使用哪一个。于是我做了如下的整理和总结。 二、AnnotationUtils官方解释 功能 用于处理注解&…

唐山网站专业制作网站的整体规划怎么写

重要: schema-defined aspects只支持singleton model,即 基于配置文件的aspects只支持单例模式 转载于:https://www.cnblogs.com/JsonShare/p/4638475.html

上传图片做网站维护微信公众号网页授权登录wordpress

题目:从一个由N个整数排列组成的整数序列中,自左向右不连续的选出一组整数,可以组成一个单调减小的子序列(如从{68 69 54 64 68 64 70 67 78 62 98 87}中我们可以选取出{69 68 64 62}这个子序列;当然,这里还有很多其他…

实用指南:玳瑁的嵌入式日记---0923(ARM)

实用指南:玳瑁的嵌入式日记---0923(ARM)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

个人博客搭建记录【hexo】

安装hexo 部署环境Node.js GitNode.js 部署,建议版本大于 12.0Node.js 安装中步骤中需要注意其中两处:Add to PATH 选上,使其集成到系统环境中: ​此处勾选会安装各种编程环境和软件,这对于安装hexo是不必要的: …

喵喵喵

笨蛋循环。笨蛋黑白染色。笨蛋欧拉回路。笨蛋欧拉回路!!笨蛋性质。笨蛋反图。笨蛋典题。笨蛋困难难题目。笨蛋猫猫。笨蛋煎蛋。笨蛋,眼睛瞎了。

Ansible自动化管理 - 指南

Ansible自动化管理 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

flink不同环境切换 - --

代码: package com.yourcompany.flink; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import java.util.Properties; /** * 最简版 - 所有代码在一个文件中 */public class Minima…

网站原则广州网站开发公司

RabbitMQ:高效的消息队列中间件及其 PHP 实现 一、什么是 RabbitMQ? RabbitMQ 是一个开源的消息队列中间件,使用 Erlang 编写,遵循 AMQP(Advanced Message Queuing Protocol)协议。它的主要功能是提供一种…

ps-填充色

ps-填充色一、填充颜色用矩形选框选中范围; Ctrl + delete:填充背景色; Alt + delete:填充前景色;不将就,不强求!

PythonStudio_圆的面积demo源代码

# Powered By Python Studio, The best Python GUI IDE to download from glsite.com. import os from glcl import *class Form1(Form):def __init__(self, owner):self.Button3 = Button(self)self.Button2 = Button…

HarmonyOS 5分布式数据同步实战:跨设备待办事项应用

🔧 一、前期准备:配置与权限 在开始编码前,需要进行一些基础配置。模块配置 (module.json5): 在 module.json5文件中申请分布式数据同步权限。 {"module": {"requestPermissions": [{"na…

深入理解HarmonyOS 5的AVSession:构建跨设备媒体播放器

🎯 一、AVSession 概述与核心价值 AVSession(媒体会话)是HarmonyOS分布式媒体控制的核心框架。它允许应用程序将本地播放的媒体信息和控制能力暴露给系统,使得其他设备(如手机、平板、智慧屏)可以发现、查看和控…

Extjs小例子

Extjs小例子 1.监听文本框是否已经修改过xtype : textfield,  fieldLable : 标题,  listeners : {     change : function(field,newValue,oldValue){ alert(newValue+---+oldValue);  …

郑州网站建设怎么样短视频推广方案怎么做

随着半导体技术的不断进步,晶圆制造作为集成电路产业的核心环节,对生产过程的精密性和洁净度要求日益提高。在众多晶圆制造工具中,PFA(全氟烷氧基)晶圆夹以其独特的材质和性能,在近年来逐渐受到业界的广泛关…

HT-AD4PS-1+ 一分四射频功分器:1-500 MHz 小尺寸/低插损,通信、医疗全能打

HT-AD4PS-1+ 一分四射频功分器:1-500 MHz 小尺寸/低插损,通信、医疗全能打成都恒利泰(HenryTech)HT-AD4PS-1+ 是一款全国产化的一分四表贴功分器/合路器,频率覆盖 1-500 MHz,插入损耗≤1.8 dB,体积小巧,可直接…

HarmonyOS资源管理与访问:多分辨率与多语言适配

本文将深入探讨HarmonyOS应用开发中的资源管理机制,重点介绍多分辨率适配和多语言本地化的完整解决方案。1. 资源管理系统架构 HarmonyOS提供了统一的资源管理框架,支持应用资源的分类、访问和适配。资源管理系统采用…

面试官:为什么没有虚拟线程池?

Java 官方文档明确指出:Do not pool virtual threads. 虚拟线程不是昂贵资源,永远不应该被池化。 应该为每个任务创建一个新的虚拟线程,它们应该是短暂的、任务级别的。这是为什么呢?为什么只有虚拟线程 Virtual T…

做外国网站自媒体网络工程师和做网站哪个难

————— 第二天 —————————————————下面我们一起来研究这三个问题。问题1:哪些是需要回收的?首先我们需要知道如何哪些垃圾需要回收?判断对象是否需要回收有两种算法。一种是引用计数算法、一种是可达性分析算法。引用计…

润生软件简介:以“重构与共生”引领商业未来

2014年,广东企业家陈总敏锐洞察到:当算力实现百倍跃升,数字信息将深刻重塑社会结构,传统行业与企业形态面临全面重构。基于此,他发起创立了润生公司(Reconstruction-Symbiosis Framework,简称RS),开启一场以“…