通过管道传输的 Thrift IPC (Windows)

2024-01-05

我一直在关注 Thrift 对 Windows 的支持,并且由于许多贡献者的努力,VS 开发已经取得了长足的进步。有针对编译器和 C++ 库的 VS 2010 项目,我已经确认它们在 0.8 中运行良好。http://thrift.apache.org/download/ http://thrift.apache.org/download/

我的问题是关于在 Thrift 中实现传输层,特别是管道(命名或匿名)。我一直在使用 TCP 传输,它可以工作,但在应用程序都是本地的情况下,它就太过分了,并且通常会导致其他复杂情况,例如 Windows 防火墙。我想做的是在 Windows 下添加管道传输支持。


Thrift 中已添加命名管道传输。从 SVN 获取开发代码(当前为 0.8.0-dev)——参见http://thrift.apache.org/download/ http://thrift.apache.org/download/了解下载详情。假设它不会破坏任何内容,它应该包含在 0.9.0 稳定版本中。

TPipe 传输现在具有对 *NIX 和 Windows 的跨平台支持。它在 Windows 下被实现为命名管道或匿名管道;在 *NIX 下,它通过利用 TSocket 使用域套接字。 *NIX 下尚不支持匿名管道。添加起来应该比较简单,但似乎没有这样的需求。

我还贡献了一个示例项目,应该可以让您更轻松地开始使用此项目。 SVN 主干现在有这个节俭/贡献/运输样本

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过管道传输的 Thrift IPC (Windows) 的相关文章

  • iOS 应用程序可以通过套接字进行通信吗?

    我将为 iOS 开发一些应用程序 他们可以通过套接字相互通信吗 假设一个应用程序作为服务器运行 即使在后台模式下 另一个应用程序作为客户端连接到服务器应用程序并执行一些通信 它是否违反了任何 App Store 规则 如果我的想法由于某种原
  • 使用 MingW 64 绕过 fork() 的最佳方法?

    我浏览了十几个关于 Windows 没有的链接fork 以及应该如何使用CreateProcess or CreateThread试图解决这个问题 但是不允许时间和风险来重写一大段遗留代码 有没有一种快速 简单的方法来获取fork在 Win
  • Thrift 将可选转换为默认或必需

    我有一个节俭的结构 struct Message 1 optional int userID 将其更改为默认需求是否安全 struct Message 1 int userID 如果我知道它总是已设置 那么 需要 呢 如中所述这个答案 ht
  • IPC 跨不同 Docker 容器中的 Python 脚本共享内存

    问题 我编写了一个神经网络分类器 它接收大量图像 每个图像约 1 3 GB 对它们进行修补 然后将修补程序单独通过网络传递 训练正在进行中really慢慢地 所以我对它进行了基准测试 发现将补丁从一张图像加载到内存中需要大约 50 秒 使用
  • 使用AppService的连接持续时间有限制吗?

    我有一个 UWP 应用程序托管应用服务 https learn microsoft com en us windows uwp launch resume how to create and consume an app service在同
  • 使用 WM_COPYDATA 在进程之间发送数据

    我希望在进程之间发送文本 我发现了很多这样的例子 但没有一个我可以工作 这是我到目前为止所拥有的 对于发送部分 COPYDATASTRUCT CDS CDS dwData 1 CDS cbData 8 CDS lpData NULL Sen
  • 运行包含 Pipes 的命令行并将结果显示到 STDOUT

    如何从 Python 调用包含管道的 shell 命令并捕获输出 假设命令类似于 cat file log tail 1 我想做的 Perl 等效项是这样的 my string cat file log tail 1 使用 subproce
  • 通过管道从子shell获取退出代码

    我怎样才能获得退出代码wget来自子shell进程 所以 主要问题是 等于0 哪里可以 8成立 gt OUT wget q http budueba com net tee a file txt echo 0 它的工作原理无需tee 实际上
  • Linux 消息队列 - 多个接收者

    我最近一直在研究和研究 Linux 消息队列 并遇到了一些我不太明白为什么会发生的事情 如果我们运行两个程序 它们都在无限 for 循环中使用 msgrcv 来检查消息 然后发送两条消息 那么第一个运行的程序将收到第一条消息 第二个程序将收
  • 反馈两个进程的stdin和stdout

    我有两个进程通过标准输入和标准输出相互连接 假设我有进程 A 和进程 B B 的标准输出需要输入到 A 的标准输入中 A 的标准输出需要输入到进程 B 的标准输出中 是否有一种简单的方法可以用简单的命令来表达这种关系 或者是否有一个基本的
  • 使用管道的Python多进程非阻塞相互通信

    是否可以使用管道以非阻塞方式接收进程间通信 考虑以下代码 from multiprocessing import Process Pipe import time def f conn time sleep 3 conn send Done
  • 从一个 Nodejs 应用程序调用另一个 Nodejs 应用程序中的 API 的方法

    我们的应用程序将有一个网站和一个移动应用程序 两者都与同一个 API 后端进行通信 我有一个仅提供 API 服务的 Nodejs 应用程序 还有一个为网站提供 html 页面服务的 Nodejs 应用程序 我正在为这两个应用程序使用 Exp
  • c 中的分叉和管道过程

    所以我有一个项目要做 但我完全被难住了 我花了十个小时却一无所获 我并不是特别想要答案的代码 但是一些伪代码和正确方向的良好提示将有帮助 它分叉多个进程 k 命令行参数 通过管道连接 每个进程都连接到下一个进程 最后一个进程连接到第一个进程
  • gwt hibernate 程序中的异常

    我正在尝试制作一个简单的 GWT RPC Hibernate 程序 将用户添加到 MySQL 数据库 我正在使用 Eclipse EE 该应用程序已成功将用户添加到数据库 但在编译时引发异常 这是我的应用程序的例外情况和来源 例外 Exce
  • POSIX:FreeBSD 与 Linux 中的管道系统调用

    在 Linux 2 6 35 22 generic 中 man pipe指出 pipeline 创建一个管道 一个可用于进程间通信的单向数据通道 在 FreeBSD 6 3 RELEASE p5 中 man pipe指出 pipeline
  • 通过管道连接到 findstr 的输入

    我有一个文本文件 其中包含宏名称列表 每行一个 我的最终目标是打印宏名称在当前目录的文件中出现的次数 宏的名称位于C temp macros txt type C temp macros txt在命令提示符下可以正常打印列表 现在我想将该输
  • TCL 脚本 - exec 将文本刷新到我的标准输出

    我怎样才能 冲洗 stdout of the exec命令到我的脚本stdout没有 等待 结果执行返回 例如在下面的脚本中我想要git clone输出立即出现在我的脚本上下文中 usr bin tclsh git outputs prog
  • popen2()在c中如何工作?

    我尝试使用管道 叉子和 dup 在我的程序中执行 md5sume 命令 我发现总和代码运行成功 但我无法理解某些代码行 这是我的代码 int infp outfp char buf 128 if popen2 md5sum infp out
  • DBus 是我要找的吗?

    我需要一个Linux上的IPC系统 我的要求是 面向数据包 消息 能够处理点对点和一对多通信 没有层次结构 没有服务器和客户端 如果一个端点崩溃 必须通知其他端点 现有 Linux 发行版的良好支持 Apache 存在 绑定 用于创建动态页
  • 如何在基于 Linux 的系统上的 C 程序中使用 mqueue?

    如何在基于 Linux 的系统上的 C 程序中使用 mqueue 消息队列 我正在寻找一些好的代码示例 可以展示如何以正确且正确的方式完成此操作 也许是一个操作指南 下面是一个服务器的简单示例 该服务器接收来自客户端的消息 直到收到告诉其停

随机推荐

  • Scala args(0) 原因

    请理解我没有 Java 背景 这是我第一次使用 Scala 我是not抨击 Scala 只是对设计决策感到好奇 Scala 决定在其方面标榜惯例是否有原因 args object 与我熟悉的语言相比 我希望 Scala args 0 返回可
  • 诊断 Visual Studio 2015 反复崩溃/重新启动

    我正在使用 VS 2015 我有一个项目习惯性地崩溃 重新启动大约每 10 分钟一次 我的所有项目都没有发生这种情况 这似乎只是一个违规项目 分析导致崩溃的原因的最佳方法是什么 我有很多 MSVC 编译器 但 MSVC 2015 不是其中之
  • 如何将 Windows 资源管理器窗口设置为活动窗口

    我正在尝试获取一个宏来在 Windows 资源管理器窗口完成后选择或激活该窗口 或者如果未找到该窗口则打开该窗口 目前 它在打开时确实找到了窗口句柄 保存为 窗口 但它不会激活该窗口 Private Declare Function Fin
  • 如何将指向引用的指针作为参数传递给函数 - Objective C

    在 C 中 我们将把指针传递给函数 bool getData REMOTE ID msId RsEvent pEvent 如何在 Objective C 中声明这个 BOOL getData REMOTE ID msId withEvent
  • ServiceBase.Run(ServiceBase[]) 方法是否异步运行数组中的所有服务?

    ServiceBase servicesToRun servicesToRun new ServiceBase new Service1 new Service2 ServiceBase Run servicesToRun 这将如何运作 S
  • Python:在元组上使用 lower 函数

    我是 Python 新手 并且查看了相当多的文档来弄清楚发生了什么 但没有任何运气 我有一个元组列表 需要将其转换为小写并对列表中的所有值执行数学运算 E 需要变成 e 才能执行数学运算 如果给定的元组列表中有单个值 则以下工作有效 Ear
  • 如何在 dotnet core 中使用实体框架获取数据

    I have a table called UserAnswers below screenshot contains table data 我想按 SurveyId 获取数据并按 CreatedBy 列进行分组 举个例子 有一个用户叫 电
  • Flutter - 当我推送的页面被后退按钮弹出时如何收到通知?

    假设这种情况 page1Navigator push到第2页 page2 上的用户单击后退按钮 因此 page2 弹出并且 page1 重新获得视图 如何在 page1 上捕获此事件 您可以通过从 Navigator pop 传递参数来进行
  • 为什么编译器不将这两种类型转换优化为一种呢?

    我正在查看具有以下模式的函数 if obj is SpecificClass1 SpecificClass1 obj SomeMethod1 else if obj is SpecificClass2 SpecificClass2 obj
  • $(window).resize(): 之前

    是否可以每次获取浏览器的宽度 高度BEFOREresize 被触发了吗 window resize function 这是因为我正在计算浏览器调整大小 之前 之后的差异 你必须存储以前的值 有点像这样 var prevHeight 0 va
  • 如何将字符串转换为字符序列?

    如何转换String to CharSequence在Java中 Since String IS A CharSequence 你可以通过String无论您何时需要CharSequence 或分配一个String to a CharSequ
  • Java Applet 中的缓存

    有哪些方法可用于在 Java 小程序中进行缓存 据我所知 组成小程序的 jar 会被大多数浏览器缓存 小程序使用的任何依赖 jar 都会出现这种情况吗 如果小程序在运行时从远程 URL 加载资源 是吗 假设这不会被浏览器缓存是否正确 如果它
  • Python - 创建一个以给定值开始并以给定长度结束的列表

    如何创建一个具有起始值和列表长度的列表 例如 如果我想创建一个从 17 开始 长度为 5 的列表 num list 17 18 19 20 21 我已尝试以下操作 但它没有产生正确的结果 def answer start length id
  • NetLogo:以紧凑的方式对列表中的一项执行操作的过程?

    NetLogo 的新手 想知道是否有一个过程可以以紧凑的方式对列表中的一项执行操作 类似于地图 但针对一项 例如 假设我想添加3到索引处的项目i在列表中blah 现在我正在这样做 set blah replace item i blah i
  • sqlite3:未找到

    我正在尝试使用此处描述的过程访问我的设备上的 sqlite 数据库 我如何查看 SQLite 数据库 无模拟器 https stackoverflow com questions 7632767 how can i see sqlite d
  • Draw.io:如何调试未压缩的 js 代码?

    我从github存储库下载了draw io源文件 并尝试对导入函数进行一些细微的更改 但所有源都被缩小了 尤其是app min js 所以我的问题是 有什么方法可以使用未缩小的源代码来调试代码吗 我还尝试在查询字符串中传递参数 dev 1
  • Django:尝试编写只读数据库

    我刚刚创建了一个 Django 项目 python manage py startapp smartrecruitment 然后我运行了数据库同步 python manage py syncdb Operations to perform
  • 在Javascript中将字符串转换为日期时间格式

    我有一个字符串 我想与 JavaScript 日期时间对象进行比较 如何使用 JavaScript 将字符串 1 1 1912 转换为日期时间 以便我可以进行比较 if EDateTime gt 1 1 1912 如果您可以保证日期格式 您
  • 如何清除 html 5 客户端存储?

    例如 我认为 StackOverflow 通过 html 5 客户端存储来记住用户 我怎样才能清除这个存储 清除缓存好像不行 删除 flash cookie 似乎也没有帮助 附注我正在使用 Safari 但我也对一般内容感兴趣 StackO
  • 通过管道传输的 Thrift IPC (Windows)

    我一直在关注 Thrift 对 Windows 的支持 并且由于许多贡献者的努力 VS 开发已经取得了长足的进步 有针对编译器和 C 库的 VS 2010 项目 我已经确认它们在 0 8 中运行良好 http thrift apache o