使用 Cromis IPC 进行双向通信

2024-02-23

我已经下载并玩了克罗米斯工控机 http://www.cromis.net/blog/2009/11/cromis-ipc-fast-inter-process-communication-named-pipes/来自 Iztok Kacin 的成分。

我已经下载了这个组件集以允许我的 Windows 服务和 GUI 进行通信。然而,通信似乎是一种方式(除了服务器响应之外)。

我可以很高兴地从客户端向侦听服务器发送消息,但我似乎无法将消息发送回客户端,除非它作为响应。

有谁知道这些组件是否可以实现双向通信,或者我是否需要在 GUI 和服务应用程序中使用服务器和客户端?


我是组件的作者,正如其他人已经告诉您的那样,目前无法进行双向通信。原因很简单,这是命名管道的工作方式。在客户端和服务器之间维持永久连接会非常复杂,坦率地说,IPC 与此无关。但由于有时需要通知您有新数据可用,因此我正在考虑滚动独立的信号机制。这样服务器就可以通知客户端有东西给他。然后,客户端将以与现在相同的方式访问数据。现在我赞成将其实现为一个完全独立的组件,然后可以轻松地与我的 IPC 一起使用。

请关注博客,如果我决定这样做,我会在那里发布相关内容。

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

使用 Cromis IPC 进行双向通信 的相关文章

  • Excel 2013 COM API 在服务帐户下挂起 ExportAsFixedFormat

    我有一个 NET Windows 服务 它调用 Excel 2013 COM API 以在 PDF 上导出 Excel 文档 我已尝试使用在两个不同域帐户下运行的 Windows 服务来执行此代码 这两个帐户都是运行代码的计算机上的本地管理
  • Delphi - 将物理路径(设备文件句柄)转换为虚拟路径

    我怎样才能转换像这样的路径 设备 HarddiskVolume3 Windows 进入其相应的虚拟路径 如本例中的 c Windows 我个人更喜欢原生方式 function GetHDDDevicesWithDOSPath TString
  • Windows 服务:错误 5:访问被拒绝

    我正在尝试创建一个简单的 Windows 服务 该服务的用户帐户是NetworkService 然后我跑了installUtil从命令提示符我得到了这个 提交阶段完成 成功地 事务安装已完成 这意味着服务已成功安装 但是当我尝试从Servi
  • 在 Delphi XE 中将类作为过程的参数传递

    我需要做的是这样的 procedure A type of form var form TForm begin form type of form Create application form showmodal freeandnil f
  • Delphi 2007 中的 HelpInsight 文档

    我正在使用 D2007 并尝试使用 HelpInsight 功能 自 D2005 起提供 来记录我的源代码 我主要对让 HelpInsight 工具提示正常工作感兴趣 通过各种网上冲浪和实验 我发现了以下内容 使用三斜杠 注释样式比其他记录
  • Delphi XE2 Firemonkey 示例应用程序未在 MAC 上运行

    我正在尝试在 Mac 上运行示例 Firemonkey 应用程序 但我在 Mac 中收到以下消息 dyld Library not loaded rpath libcgunwind 1 0 dylib Referenced from Use
  • 如何读取注册表项的默认值

    我有一个 Delphi XE2 项目来使用注册表项进行某些操作 所以我定义了以下代码 procedure TMainForm BitBtn01Click Sender TObject var RegistryEntry TRegistry
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • Windows 8 命名管道创建

    如何在 Windows 8 中创建具有 AppContainer 完整性级别的命名管道 正如帕维尔 米纳耶夫 Pavel Minaev 在评论之一中提到的一些答案 https stackoverflow com questions 7416
  • Delphi中的抽象类

    我正在使用一个具有许多抽象类的组件套件 现在我想应用多态性 但在创建对象时收到错误抽象类 即使我不需要 我是否应该重写所有虚拟方法 有什么解决方法或解决方案吗 为了创建类的实例 您需要重写所有声明为虚拟抽象的方法 即使您不使用它们 如果您确
  • 用 C# 启动 Windows 服务

    我想启动一个刚刚安装的Windows服务 ServiceBase ServicesToRun if bool Parse System Configuration ConfigurationManager AppSettings RunSe
  • 在 C# 进程之间共享对象的推荐方式

    我已经阅读了许多关于 2 个 C 应用程序之间的 IPC 及其优缺点的不同内容 但我觉得我还没有为我的用例找到令人满意的答案 我有一个已经存在的对象 该对象会经常更改 我正在尝试将我的工具附加到游戏并使用它来调试使用该工具创建的元素 因此
  • 在 Delphi 2009 上安装最新版本的 Indy 10 [重复]

    这个问题在这里已经有答案了 是否有更新 Delphi 2009 中的 Indy 10 组件的分步指南 我读过正在卸载线程 https stackoverflow com questions 486210 what is the proper
  • 在Windows Server 2003下如何在本地系统帐户下运行jvisualvm.exe?

    我在带有 Java 1 6 u 20 的 Windows Server 2003 下将 GlassFish 3 0 1 作为 Windows 服务运行 总体上我很满意 我希望能够在这个 JVM 上使用 VisualVM 并使用无法在 Tom
  • 如何将数据库查询的行转换为 XML 文件?

    我正在开发一个 Delphi 应用程序 该应用程序需要从一段工作中获取行并将其转换为单个 XML 文件 以便上传到第三方 Web 服务 有没有可用的组件或库可以做到这一点 如果不是 那么构建 DB2XML 转换器的最佳代码方法是什么 我注意
  • 查找Delphi项目中的所有编译错误

    我正在对我的 Delphi 项目进行一些重构 我希望能够做出改变 然后看看all项目中因该更改而中断的地方 类似于 Eclipse 列出项目的所有编译错误 在 Java 中 在 Delphi 中 我可以进行更改 然后重新编译我的项目 但编译
  • 如何从 Delphi 中的函数返回对象而不导致访问冲突?

    我有一个返回 TStringList 的 delphi 函数 但是当我返回一个值并尝试使用它时 我收到一个访问冲突错误 即 myStringList FuncStringList myStringList Items Count lt Th
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • 如何使用 FieldDefs 在运行时创建新的 SQLite 文件和表?

    我正在使用 Delphi Seattle 在全新的 SQLite 文件中创建一个全新的表 并且仅使用 FieldDefs 和非可视代码 我可以使用 ExecSQL CREATE TABLE 语法创建一个表 但不能如下所示 我得到 没有这样的
  • 如何使 StringGrid 的列适合网格的宽度?

    我已经寻找解决方案很长时间了 但没有任何运气 有谁知道一个简单的方法来做到这一点 例如 我想拉伸网格的第二列以适应网格的宽度 Use the ColWidths财产 像这样 with StringGrid1 do ColWidths 1 C

随机推荐

  • 如何将文本 URL 转换为 PHP 页面中的可点击链接?

    我确信这是一个非常简单 明显的答案 但我的大脑已经崩溃了 我似乎无法理解它 我有一个 PHP 站点 允许用户将信息发布到 mySQL 中的文本字段 这些帖子都可以在线查看 在发布 编辑模式下 该字段是 HTML 表单中的文本区域 在阅读模式
  • 在开发环境中覆盖ActionMailer的邮件地址

    在我的开发环境中 我在本地测试时使用生产数据库的副本 出于测试和防止向真实用户发送测试 开发电子邮件的原因 在开发模式下覆盖邮件地址的最佳方法是什么 我知道我可以在每个邮件程序中编写逻辑 但我有几个 最好将它们全部放在一个地方 我可以覆盖m
  • IllegalArgumentException:在 ViewPager 中找不到片段 id 的视图 --- ViewPager

    我遇到了困扰我好几天的问题 有一个ViewPager在主要活动中持有 3Fragments 作为选项卡片段 在里面first片段有一个ListView哪个持有一些观点 哪个是最重要的 另一个ViewPager 我想在子里保留一些照片View
  • 如何在本地测试并发?

    本地测试并发的最佳方法是什么 即我想测试 10 个并发点击 我知道类似的服务Blitz http blitz io 然而 我试图找到一种更简单的方法在本地进行测试以对抗竞争条件 有任何想法吗 也许通过卷曲 查看 Apache Bench a
  • 如何从 csv 文件读取表格中的文本

    我是新使用 tm 包 我想读取一个 csv 文件 其中一列包含 2000 个文本 第二列包含因子变量 yes no 到语料库中 我的目的是将文本转换为矩阵并使用因子变量作为预测目标 我还需要将语料库划分为训练集和测试集 我阅读了一些文档 例
  • GROUP BY 子句在 sqlite 中获取逗号分隔值

    我的表结构是这样的 使用sqlite3 CREATE TABLE enghindi eng TEXT hindi TEXT 我有一张名为enghindi其中有两列名为hindi eng 我想合并 eng 列的记录 并通过逗号分隔合并印地文单
  • 如果没有人调用interrupt(),可以忽略InterruptedException吗?

    如果我创建自己的线程 即不是线程池 并且在某个地方调用sleep或任何其他可中断方法 是否可以忽略 InterruptedException如果我知道代码中没有其他人在线程上进行中断 换句话说 如果线程的寿命应该与 JVM 一样长 这意味着
  • 如何让 PHP SOAP 客户端与使用无效证书通过 SSL 运行的服务进行通信

    我尝试使用 PHP SOAP 客户端使用 SOAP 服务 但失败并显示以下消息 SoapFault SOAP ERROR Parsing WSDL Couldn t load from https domain com webservice
  • MathJax 渲染模糊

    MathJax http www mathjax org 在浏览器中的渲染 右 比在 LaTeX 中的等效 PDF 渲染 左 要模糊得多 这是 Javascript 限制 浏览器限制 MathJax 限制 错误 设计原因还是其他原因 有什么
  • 创建 AMI 映像作为 cloudformation 堆栈的一部分

    我想创建一个 EC2 cloudformation 堆栈 基本上可以按以下步骤描述 1 启动实例 2 配置实例 3 停止实例并从中创建 AMI 映像 4 使用创建的 AMI 映像作为源创建自动缩放组以启动新实例 基本上我可以在一个 clou
  • 当我需要转义 Html 字符串时?

    在我的遗留项目中 我可以在字符串发送到浏览器之前看到 escapeHtml 的用法 StringEscapeUtils escapeHtml stringBody 我从 api 文档知道 escapeHtml 的作用 这里是给出的示例 Fo
  • 构建 Mac 和 Windows GUI 应用程序

    我计划为 Mac 和 Windows 构建一个 GUI 应用程序 我一直在技术选择方面进行一些研究 例如语言 库和构建工具 以便我可以在两个平台之间共享尽可能多的代码 主要要求是 满足 Mac App Store 要求 Mac 和 Wind
  • C# 对象类型比较

    如何比较声明为类型的两个对象的类型 我想知道两个对象是否属于同一类型或来自同一基类 任何帮助表示赞赏 e g private bool AreSame Type a Type b Say a and b是两个对象 如果你想看看是否a and
  • QFormLayout 中的 QSpacerItem - 垂直展开

    我想在我的内心拓展一个空间QFormLayout 但无论如何QFormLayout仅使用QSpaceItem sizeHint 有谁知道解决这个问题的方法 或者处理这个问题的正确方法 MyWidget MyWidget QWidget pa
  • Kinesis 分区键始终位于同一个分片中

    我有一个包含 2 个分片的运动流 如下所示 StreamDescription StreamStatus ACTIVE StreamName my stream Shards ShardId shardId 000000000001 Has
  • fullcalendar jquery 插件标题字符串中的 HTML

    我认为 fullcalendar jquery plugin 是一个非常好的解决方案 但是 我注意到插件转义了 htmlEscape 标题 但我需要格式化标题中的一些字符串 例如粗体文本 颜色或小图像 使用另一个插件 例如 qTip 如示例
  • 陷入 Gradle Build 运行状态

    当尝试在 Android Studio 2 1 在 Ubuntu 16 04 上 上构建我的应用程序时 它陷入了以下注释 Executing tasks app generateDebugSources app mockableAndroi
  • Helm:从键可变的 Map 中获取值

    我有一个舵图如下 dns entries cluster1 xx xx xx xx cluster2 xx xx xx xx 安装 Helm Chart 时 集群值也会动态设置 在模板中 我需要从上面的地图中动态选择它 if hasKey
  • 为什么我可以使用 nullptr 而不包含 STL?

    The C nullptr属于类型std nullptr t 为什么一个程序喜欢 int main int ptr nullptr 仍然可以工作 尽管它不包含任何 STL 库 在C 11中他们想添加一个关键字来替换宏NULL 基本上定义为
  • 使用 Cromis IPC 进行双向通信

    我已经下载并玩了克罗米斯工控机 http www cromis net blog 2009 11 cromis ipc fast inter process communication named pipes 来自 Iztok Kacin