Windows 和 Apache Thrift 可执行文件
我正在测试Apache节俭的学习方式,而且看起来很有希望.一个主要问题:第一个教程不起作用... 我有Windows 7,Python 2.7,并获得了Windows v.0.9.1的节俭.exe.我宁愿不从源头编译,因为我不使用Cygwin等.EXE给出了下面描述的问题.所以我继续前进,尝试使用巧克力来安装节俭 蒂姆斯节 效果很好,给了我节俭v0.9.0.但是此版本的行为与以下所述的EXE相同. 当我运行教程时,在 a>我得到以下内容: C:\Users\Me\Desktop\Thrift>thrift -r --gen py tutorial.thrift [WARNING:C:/Users/Me/Desktop/Thrift/tutorial.thrift:59] Could not find include file shared.thrift [ERROR:C:/Users/Me/Desktop/Thrift/tutorial.thrift:123] (la
0 2023-12-06
编程技术问答社区
在Windows的C++应用程序中进行Thrift调用
正如标题所述,我有一个用C ++编写的Windows应用程序,我需要从中拨打远程旧服务,而我对这个主题有些失落,老实说. http://wiki.apache.org/thrift/thrift/thriftinstalliftinstallationwin32 库当前在Windows上不起作用".这是否意味着我不幸的是,还是有解决方法? 解决方案 我将节俭移植到Windows/c ++以获取自己的应用.它的开源,因此其他人可以自由使用: .com/sourcecontrol/list/更改 其他解决方案 它可能不是一个优雅的解决方案,但至少应该有效: 根据节俭的wiki,有c#绑扎,但它们确实应该称为.net结合:它们没有C#特定于它们.因此,您可以在C ++/Cli dll-library中实现通信图片,并从您的非管理代码中引用.dll. 其他解决方案 该页面似乎相当简单.他们告诉您如何制作节俭编译器,但毫无疑问地说,从Windows下来的元素不会编译.
0 2023-12-06
编程技术问答社区
节流与协议缓冲区
我已经使用了PB已经有一段时间了,但是,节俭一直在我的脑海中. 我看到的是节俭的主要优点: 本地收集(即,向量,集合等)与PBS重复提供的功能类似但不太喜欢(除非您挖掘出repotedfield,否则没有迭代器"在大多数情况下不应在大多数情况下都不需要". 提供了一个不错的RPC实现,而不仅仅是插入自己的钩子. 更官方支持的语言(PB为Java,C ++,Python提供"官方"支持) 节俭的缺点: RPC实现意味着我无法在顶部插入(例如)加密/身份验证层. Windows支持似乎不太好. PB肯定似乎有更容易访问的文档. 中性: Windows上的.lib/.dll的未知大小(节俭). Windows上的大尺寸.lib(PB,但确实提供了一个明显较小的玻璃). 速度明智,它们似乎都相似. 我还没有准备好进行比赛并切换到旧货,有人可以为我提供更多的优点/缺点,或者有理由以一种或另一种方式? 谢谢! 解决方案 正如我所说的,
0 2023-12-05
编程技术问答社区
在Delphi Win32中使用Thrift
我有兴趣连接到我正在开发的Delphi Win32应用程序中使用Thrift的Evernote Service API.我在Delphi的Web Services上几乎没有工作,而节俭也没有.在哪里可以使用Delphi的Thrift加快速度的最佳地点? 解决方案 旧答案替换为狮子座: 节俭有 delphi ,c ++,c#,erlang,haskell,java,objective c/cocoa,ocaml,perl,perl,php,php,python,python,ruby和squeakr > 可以找到餐饮的发电机在这里.
0 2023-12-02
编程技术问答社区
是否可以在普通的网络服务器上使用Apache Thrift?
我已经有一台我要付费的Web服务器,我想使用Thrift和PHP在其上公开一些服务. 我的问题是:我可以使用托管在默认端口上的普通PHP运行旧服务服务器(与托管网页相同的方式),而不是使用在某些时髦的晦涩端口上运行的单独的PHP应用程序.这样,我就不必更改服务器配置(即使我愿意,这也是我无法做的). 谢谢 编辑:也许我应该澄清更多.一旦我使用.trift文件定义了服务,就可以: 运行节俭代码生成器 请使用生成的代码并将其放在我的Web服务器上 创建一个索引. 解决方案 好吧,我自己想出了答案! 如果您在服务器端使用TPhpStream,则可以作为常规HTTP请求提供请求. 非常感谢Rob Wilkerson 我还写了有关如何用php和python实现一个简单示例的博客/" rel =" noreferrer"> http://willwarren.com/2012/01/24/creating-a-public-api-with-apach
2 2023-12-02
编程技术问答社区
在Windows 7上构建节俭服务
我做了什么? 我正在使用Microsoft Visual Studio 2010 1)我下载了libevent-2.0.16-stable( 2)我已经下载了BOOSTPRO 1.47(来自 多线程 多线程调试 多线程,静态运行时 多线程调试,静态运行时 3)然后,我从 4)好的,现在我去了D:\ sources \ thrift \ lib \ cpp,我用msvc ++ 10打开了libthrift.vcxproj,其中包括boost和libs(d:\ programs \ boost \ boost \ boost \ boost_1_47 \ and d:\ and d:\&d:\ \ \ \ \ \ \ \ \ \ \ \ \ \程序\ boost \ boost_1_47 \ lib \),我已经成功地编译了. 5)我用他的编译器 6)我已经在MSVC ++ 10,链接的Boost和Thrift Libs&Sources中制作
0 2023-11-23
编程技术问答社区
旧约文件(API)版本的最佳实践是什么?
我有节俭写的API.示例: service Api { void invoke() } 它做点什么.我想改变行为以做其他事情,但仍然为期望旧行为的客户保留旧行为. 处理新API版本的最佳实践是什么? 解决方案 软版本 节俭支持软版本,因此执行您的服务版本2是完全有效的,该版本看起来像这样: service Api { void invoke(1: string optional_arg1, 2: i32 optional_arg2) throws (1: MyError e) i32 number_of_invokes() } 由于新添加的参数在技术上是可选的,因此任意客户的请求可能包含或不包含它们,或者可能仅包含其中的一部分(例如指定arg1,但不是arg2).例外有些不同,旧客户会提出某种通用的意外例外或类似的例外. 甚至可以完全删除过时的函数,在这种情况下,旧客户端每当试图拨打(现在不存在的)删除函数时,都会得到例外.
4 2023-11-18
编程技术问答社区
如何在 Cassandra 中插入带有 TimeUUIDType 列的行?
在卡桑德拉(Cassandra)中,我有以下专栏一家: 我试图使用thrift生成的C ++生成的函数如下: ColumnPath new_col; new_col.__isset.column = true; /* this is required! */ new_col.column_family.assign("Posts"); new_col.super_column.assign(""); new_col.column.assign("1968ec4a-2a73-11df-9aca-00012e27a270"); client.insert("Keyspace1", "somekey", new_col, "Random Value", 1234, ONE); 但是,我遇到以下错误:" uuids必须是16个字节" 我什至尝试使用以下命令尝试
0 2023-11-12
编程技术问答社区
集成测试。在测试之前,在`unittest.setUp`期间启动一个阻塞服务器?
我正在使用我想以"测试"模式启动该服务(以特定的"测试"端口启动,使用"测试"数据等)直接在单位测试的setUp方法中,但调用serve()那时等待连接的块. 启动服务的最佳方法是什么,以便可以使用tearDown方法进行测试,并且可以干净地进行服务? 解决方案 unittest提供的"完整隔离"非常适合单位测试(设计的 for),但不一定是集成/em>测试 - 我看到了重复使用unittest的吸引力,我自己要利用我们周围的特殊测试跑者和C,但是,意识到这是适合使用unittest的力量对于集成测试,我试图通过与我编码单元测试的编码方式来补偿. . 当我必须在集成测试中产生服务器时,我倾向于在模块的开头,在一个单独的过程中进行产卵 - 通过subprocess,或者其他适合您安装的方式(如果需要)在单独的节点或其他任何内容中运行它 - 并在 atexit 当我的测试模块全部完成时,将向该服务器发送终止请求的终止代码.这并不像单元测试所需的"干净分离",但我发现它足
6 2023-11-07
编程技术问答社区
Cmake无法找到python-six库
我正在尝试安装fbthrift,但是我遇到了这个错误: -- Boost version: 1.58.0 -- Found the following Boost libraries: -- context -- filesystem -- program_options -- regex -- system -- thread -- chrono -- date_time -- atomic -- Found folly: /usr/local -- Found YARPL: /usr/local -- Found rsocket: /usr/local -- Found fizz: /usr/local -- Found wangle: /usr/local -- Found Zstd: /usr/lib/x86_64-linux-gnu/libz.so -- ZLIB: /usr/include -- Found Zstd: /usr/
12 2023-11-02
编程技术问答社区
RVM-不能在Ubuntu 11.10上安装gem thrift
我使用Ubuntu 11.10和Ruby 1.9.2 我不能在我的机器上安装旧金宝石 $ gem install thrift --no-ri --no-rdoc Building native extensions. This could take a while... ERROR: Error installing thrift: ERROR: Failed to build gem native extension. /home/sayuj/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb checking for strlcpy() in string.h... no creating Makefile make gcc -I. -I/home/sayuj/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-linux -I/home/
4 2023-11-02
编程技术问答社区
编译thrift 0.9.0 c++客户端的问题
我尝试在ubuntu precise32上使用Thrift 0.9.0编译CPP应用程序: g++ hello_client.cpp gen-cpp/HelloSvc.cpp -lthrift 但是,这导致: In file included from /usr/local/include/thrift/transport/TSocket.h:25:0, from hello_client.cpp:4: /usr/local/include/thrift/transport/TTransport.h:34:1: error: 'uint32_t' does not name a type /usr/local/include/thrift/transport/TTransport.h:107:3: error: 'uint32_t' does not name a type ... 解决方案 我尝试修复0.9.0 by: 1)
0 2023-11-02
编程技术问答社区
将Apache Thrift与打字稿一起使用
i使用apache thrift编译器生成了.js和.d.ts文件.如何在现有的Angular2/Typescript-Project中使用此文件? 我试图使用 /// /// 和 import Thrift = require("./thrift"); import Service = require("./Service") 如果我使用这四行,那么打字稿编译器不会抱怨,但是当我想使用时," thrift"并未定义. thrift.js,service.js和两个.d.ts文件都存在于文件夹中. 非常感谢! 解决方案 您需要在index.html 中手动引用thrift.js 其他解决方案 纱线添加 @types/thrift import * as thrift from 'thrift'; ... va
0 2023-11-01
编程技术问答社区
词典不同的数据类型Apache thrift
我在python上有一个字典.据我了解,托运只允许严格键入地图map.但是,在Python值中并不总是相同的类型. dict = {'id':1, 'text': 'some text', 'active': None} 我想将此结构传递到我的.trift文件 void submit_record(1: i32 id, 2: i32 time, 3: map) 有什么方法可以做到吗? 解决方案 使用节俭union或struct: union varying { 1 : double dbl 2 : i32 int // or maybe i64 3 : string str } 进一步阅读: 在of-a-stet">您如何在旧货idl中说,客户应该在结构中恰好包含一组字段?
4 2023-10-31
编程技术问答社区
支持和类型的高性能对象序列化库
我想知道是否有任何高性能序列化库(如Google协议缓冲区)支持 >. sum类型是标记工会,基本上可以说某物是a,b或c. .org/wiki/algebraic_data_type" rel =" noreferrer">代数数据类型 解决方案 如果通过"喜欢Google协议缓冲区",则意味着可以为多种语言生成代码的能力,那么可能不存在这种东西.在不支持它们的语言中模拟总数的类型充其量是尴尬的(例如,尝试在Boost:variant上进行模式匹配).因此,如果主要目标是主流语言,则将它们排除在外是有意义的. 如果您只使用Haskell/Ocaml/任何选择都有很多选择.对于haskell,有谷物,二进制, safecopy 和其他可能.有 piqi project for ocaml. 其他解决方案 我不知道有任何支持 piqi (我是的)以外的其他实用系统作者). PIQI与协议缓冲区兼容,并且本地支持OCAML和ERLANG.协议缓冲区中缺少MUM类型是我
0 2023-10-30
编程技术问答社区
长期通话的节俭超时:Thrift.transport.ttransport.ttransportexception:tsocket读取0字节
我已经使用节俭建立了一些RPC服务.每个电话可能会运行很长时间(分钟至小时).我将节俭超时设置为2天. transport = TSocket.TSocket(self.__host, self.__port) transport.setTimeout(2 * 24 * 60 * 60 * 1000) 但是,节俭总是在大约600秒后关闭连接,但以下例外: thrift.transport.TTransport.TTransportException: TSocket read 0 bytes 我还应该设置其他超时吗? (Python,Thrift Server:Windows;客户端:Ubuntu) 解决方案 拯救运输连接正在断开连接.这可能是由于网络问题或远程服务重新启动或超时问题.每当断开连接后任何呼叫时,都会导致TransportException.可以通过重新连接到远程服务来解决此问题. 尝试使用此功能,然后在进行远程服务调用之前调用它. def
2 2023-10-21
编程技术问答社区
Finagle 无异步执行
我有一个简单的Finagle thrift服务器: import com.twitter.finagle.Thrift import scala.concurrent.Future import com.twitter.util.{ Await, Future } object Main{ def main(args: Array[String]) { var count = 0 val myserver = Thrift.serveIface("0.0.0.0:9090", new RealTimeDatabasePageImpressions[com.twitter.util.Future] { def saveOrUpdate(pageImpression: PageImpressions): com.twitter.util.Future[Boolean] = { count += 1 println(c
30 2023-10-20
编程技术问答社区
python3.5 thrift cybin.ProtocolError。没有协议版本头
Traceback (most recent call last): File "", line 1, in File "/hskj/anaconda3/lib/python3.5/site-packages/happybase/connection.py", line 242, in tables names = self.client.getTableNames() File "/hskj/anaconda3/lib/python3.5/site-packages/thriftpy/thrift.py", line 198, in _req return self._recv(_api) File "/hskj/anaconda3/lib/python3.5/site-packages/thriftpy/thrift.py", line 210, in _recv fname, mtype, rseqid = s
10 2023-10-20
编程技术问答社区
为什么构建Apache节俭失败了"错误:找不到库"?
尝试构建 apache thrift 在官方的git存储库失败了"找不到库...或未手持的参数"错误消息: ... make[5]: Entering directory '/home/ssouth/Source/Apache Thrift/git-wip-us.apache.org/repos/asf/thrift/lib/cpp/test' /bin/sh ../../../libtool --tag=CXX --mode=link g++ -Wall -Wextra -pedantic -g -O2 -std=c++11 -L/usr/lib64 -o Benchmark Benchmark.o libtestgencpp.la -lssl -lcrypto -lrt -lpthread libtool: error: cannot find the library 'Thrift/git-wip-us.apache.org/repos/asf/thrift/l
2 2023-10-20
编程技术问答社区