应用程序之间的通信

2024-04-04

我有 3 个选择可以使用:套接字、activeX、com,以便在一台计算机上的应用程序之间进行通信。哪个更快?


只要它在一台机器上运行,进程间通信从根本上就会受到总线带宽的限制。内存到内存的复制,无论是在 TCP/IP 堆栈、命名管道支持代码还是共享内存中完成。这使得它们都同样高效。

不过,有一个细节很重要,即传输的数据量以及完成工作所需经过的软件层数。仅当数据量很大时,内存总线带宽才会受到限制。对于像 COM 这样的远程过程调用协议来说,情况不一定如此。仅需要序列化函数调用的参数,如果不传递数组,则可能只有少数字节。现在开销开始变得重要,当您使用像 COM 这样的高级协议时,开销会很大。

使用套接字的明显缺点是您必须自己编写所有反/序列化代码。如果组件的协议不简单,那么就很重要了。为了方便而牺牲工作时间是典型的选择,只有你才能做到。

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

应用程序之间的通信 的相关文章

随机推荐

  • 用每列的组平均值填充 NaN [重复]

    这个问题在这里已经有答案了 我知道fillna 方法可用于在整个数据框中填充 NaN df fillna df mean fill with mean of column 如何将平均值计算限制为 NaN 所在的组 和列 Exemple im
  • ng-if="true" + data-ng-if="true" 计算结果为 false?

    事实是 如果你使用ng if truthyValue and data ng if truthyValue 里面一个html元素使用角JS 1 6 受影响的元素不会在DOM 即使您使用 这也是如此ng if and data ng if与b
  • ActionScript 的 File.upload 不适用于 iOS 设备的 Air SDK

    我尝试使用 ActionScript 的 File upload 在 Air SDK for iOS 环境中上传文件 但 File upload 无法正常工作 调用 File upload 后 不会执行有关文件上传的处理程序 也不会捕获任何
  • Node.js 12 的 TypeScript tsconfig 设置?

    最佳的 TypeScript 是什么tsconfig用于输出将在 Node js 12 上运行的代码的设置 从 Node js 开始12 0 0 100 支持ES2019 如果您知道您的目标是该版本或更高版本 则最佳配置将如下所示 modu
  • 为什么 TypeScript 中受保护的成员可以被公共成员覆盖?

    我是 Typescript 的新手 我尝试在本文中使用 TypeScript 进行一些尝试操场 http www typescriptlang org play 我注意到在 TypeScript 中 基类中的受保护成员可以被公共成员覆盖 c
  • 如何创建 pip 可安装项目?

    如何创建 pip 可安装项目 如何注册 pip 所有项目都应该具有哪些元数据配置 以便允许集成和轻松导入 或者 如果你感觉很奇特 阅读 lazy sudo easy install PasteScript paster create myn
  • 实体框架 4 Visual Studio 2008

    我一直在四处寻找并试图查看 Entity Framework 4 是否可以在 Visual Studio 2008 下运行 但找不到任何对它的引用 可以让 EF4 在 VS2008 上运行吗 On the ADO NET 实体框架团队博客
  • 动画同步、光标和突出显示

    所以我几乎有了我的code http jsfiddle net bplumb PBFWV 9 按照我想要的方式工作 但无法让我的动画正确同步 我正在尝试对光标进行动画突出显示文本 然后单击按钮 问题是光标要么太慢 要么太快 我正在尝试做这个
  • C 语言快速联合实现中的分段错误(核心转储)

    include
  • 如何创建包含不同元素和操作的列表?

    我想创建包含不同类型项目的列表 他们应该调用不同的意图或做其他事情 显示地图等 它应该像联系方式一样 项目和操作的数量是预定义的 如何优雅地达到这样的效果呢 我不需要确切的代码 但需要指导方针和信息 任何帮助将不胜感激 UPDATE 我所说
  • 如何从 CDK 上的 CodePipeline 获取源工件?

    我正在使用官方 AWS 文档来使用 CDK 创建管道 https docs aws amazon com cdk latest guide cdk pipeline html cdk pipeline define https docs a
  • Spark:Java 中 forEach 循环中的任务不可序列化异常

    我正在尝试迭代 JavaPairRDD 并使用 JavaPairRDD 的键和值执行一些计算 然后将每个 JavaPair 的结果输出到处理后的数据 list 我已经尝试过的 将我在 lambda 函数内部使用的变量设为静态 make 方法
  • C# SWIG 向量 到 string[]

    给定 C 方法 例如 std vector lt std string gt getFoo void setFoo const std vector lt std string gt foo 我怎样才能让 SWIG 像这样将它暴露给 C s
  • Object.assign 与 lodash _.assign

    查看文档ES6 对象 分配 https developer mozilla org en US docs Web JavaScript Reference Global Objects Object assign and Lodash 分配
  • 在有序列表 CSS/HTML 中删除数字

    我有一个 HTML 有序列表 我需要对其应用删除线 我在 CSS 中做到了这一点 如下所示 Lower Alpha list style lower alpha margin top 2pt margin bottom 2pt text d
  • Java 类和接口名称冲突

    interface A void print class A implements A public void print System out println Hello public static void main String ar
  • Web 服务版本控制和服务器端处理

    我正在尝试设计一种 Web 服务版本控制策略以及如何从 SCM 的角度处理版本 我们正在做自下而上 JAX WS 服务 因此对架构的控制较少 并且无法遵循最佳实践的某些架构版本控制 我目前的想法是 1 主要变化 不向后兼容 通过新服务 UR
  • 如何避免全局常量的“多重定义”错误?

    我正在使用 Windows API 编写 C 程序 每个主要函数都有自己的文件 并且有一个用于原型和包含内容的标头 Headers global constants pragma once define WIN32 LEAN AND MEA
  • 创建一个转换,其删除取决于视图删除时的 @State 值

    我想创建一个过渡 其删除取决于 State删除视图时的值 这是我尝试过的 If isValid当视图出现时为 true 它将使用 move edge trailing 为了去除 即使isValid在此期间变为假 我试图获得的是 move e
  • 应用程序之间的通信

    我有 3 个选择可以使用 套接字 activeX com 以便在一台计算机上的应用程序之间进行通信 哪个更快 只要它在一台机器上运行 进程间通信从根本上就会受到总线带宽的限制 内存到内存的复制 无论是在 TCP IP 堆栈 命名管道支持代码