问题标签 [interprocess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
212 浏览

.net - 如何从 .Net 窥探另一个进程的内存?

我想从 .Net 控制台应用程序附加到另一个进程并探索数据区域。具体来说,我想附加到 Windows Vista 中的“蜘蛛纸牌”应用程序,因为我有兴趣查看它发出的卡片是否在所有情况下都可以解决。

这可能吗?如果可以,我应该查看哪些 API?

这是一个“只是为了好玩”的项目,所以我可以扩展我的知识。

瑞安

0 投票
5 回答
2090 浏览

c# - 应用程序之间的通信(进程间)?

我即将编写一个负责与外部硬件通信的“服务器”应用程序。应用程序应处理来自客户端的请求。客户端向服务器发送消息,如果服务器忙于处理硬件,则新消息应存储在稍后处理的队列中。

客户端也应该能够取消请求(如果它在服务器的队列中)。当服务器应用程序完成硬件后,它应该能够将结果发送回请求该作业的客户端。

服务器和客户端应用程序可能在也可能不在同一台 PC 上。所有开发均在 .NET (C#) 2005 中完成。

所以,我的问题是:解决这个沟通问题的最佳方法是什么?

MSMQ?肥皂?WCF?远程?其他?

0 投票
2 回答
4482 浏览

vb.net - 在 Matlab、VB6 和 VB.NET 程序之间发送消息的最简单方法

我们正在将一套数据采集和分析例程从 VB6 程序升级为 VB.NET、VB6 和 Matlab 程序的混合。我们希望保持系统模块化(单独的 EXE),以便我们可以轻松创建专门的独立分析程序,而无需不断升级一个大型应用程序。当所有程序都是用 VB6 编写时,我们使用 MBInterProcess 在 EXE 之间发送消息,这对我们来说非常有效(例如,让数据采集 EXE 将最新的文件名发送到独立的数据显示程序)。不幸的是,这个 ActiveX 不能在 Matlab 或 VB.NET 中用于接收消息。我们想知道我们可以采用的最简单的字符串消息传递系统(管道、注册消息等)是什么。现在我们只是轮询看看新文件是否写入特定文件夹,这不是最好的解决方案。我们理想的解决方案不需要花费大量时间来学习 Windows 的细微差别(我们是生物学家,而不是全职程序员),并且可以在 WinXP 和 64 位版本的 Windows 中工作。

作为对查询的回应,我们将整个 Matlab 会话包装在一个具有 MBInterProcess ActiveX 控件的 VB6 程序中。这可行,但对我们来说不是一个很好的解决方案,因为它可能会将我们永远锁定在 WinXP 中(并且肯定会阻止我们使用 64 位版本的 Matlab)。最新版本的 Matlab (2009a) 可以直接访问 .NET 函数,因此我们假设一种解决方案可能是使用 .NET 库来实现跨程序的管道(或类似的东西)。我们想重新创建 MBInterProcess ActiveX 的优雅简单的语法,并拥有一段代码来侦听具有该程序的顶级 Windows 名称的消息,然后调用特定的 Matlab m 文件或 VB.NET 函数,字符串数据(例如,文件名)作为参数。

0 投票
8 回答
2191 浏览

delphi - 在没有套接字的情况下在 Delphi 中进行应用程序数据交换的最佳方法是什么?

我需要一些相关的应用程序来相互通信(交换数据和启动操作)。要求没有包,也没有插座。所以我猜这会留下命名管道、WM_CopyData(就像 Skype 那样)和命令参数。你的最佳实践是什么?

0 投票
3 回答
666 浏览

perl - 如何防止父母在给孩子写信时阻止?

最近,当我想在两个进程之间进行通信时,我在使用 (pipe |-) 时遇到了问题。基本上,子进程无法像父进程那样快速处理 STDIN。这导致父进程等到 STDIN 空闲并使其运行缓慢。

STDIN 可以有多大,是否可以修改它。如果是,最佳实践规模是多少?

这是一些代码示例来说明我的意思:

在这个样本中another_process_packetprocess_packet. 我这样写代码的原因是,我想使用来自套接字的相同数据并实际获取一次。

提前致谢。

0 投票
3 回答
2889 浏览

.net - 在使用来自客户端的通道之前,如何检查 WCF 主机是否可用?

我正在创建一个启动多个从属进程的 Windows 服务。在每个从属进程中,我开始在命名管道上侦听来自主进程的消息。

我目前的情况是,在从属完全启动并开始侦听命名管道之前,主进程通过命名管道调用从属。

如果我这样做,频道就会进入CommunicationState.Faulted,并且频道上的任何后续调用也会失败。

我该怎么做才能从主进程验证从进程开始侦听?或者我怎样才能CommunicationState.Faulted从重试远程呼叫中恢复?

0 投票
3 回答
920 浏览

filesystems - 使用 procfs 的 Linux 内核代码:我应该注意什么?

我对内核补丁有一个非常好的想法,我想在形成我的想法之前进行一些研究并查看代码示例。

我正在寻找有趣的代码示例来演示 procfs(Linux/proc文件系统)的高级用法。有趣,我的意思不仅仅是阅读记录的价值。


我的想法是为每个进程提供一个简单的广播机制。例如,让我们考虑一个运行多个实例的进程,rsync并希望检查每个子进程的传输状态(到目前为止已传输了多少字节)。目前,我不知道有什么办法可以做到。

我打算为该过程提供一个最小的接口来将数据写入procfs. 该数据将放置在 PID 目录下。例如:

我可以为此想到许多优势,主要是在并发领域。

顺便说一句,如果这种机制已经存在,请告诉...

0 投票
5 回答
1842 浏览

c++ - 在c ++中从另一个进程中解锁线程

我正在编写一个进程间通信模块(进程 A 和进程 B)。

进程A完成特定操作后,B中的通信线程是否可以运行(解锁),我的意思是在A完成操作后没有B进行任何轮询或B等待太多?

管理这些问题的概念/模型/设计模式是什么?(比进程间同步更精确的东西)。您推荐哪些库/方法?

谢谢。

编辑:我正在寻找适合三种主要操作系统的方法:Ms Windows、Apple Mac OS X、GNU/Linux。

0 投票
3 回答
921 浏览

c# - 将 .NET 类限制为计算机边界上的单个对象实例 =>“进程间单例”

我想让同一台计算机上的多个进程使用某个 .NET 类的一个对象。

有了应用程序域,就不太可能跨越该边界,但 .NET 4.0 中的内存映射文件应该以某种方式简化该任务。

在 .NET 4.0 最终版本发布之前......是否可以在 C# 中制作某种“进程间单例”?

0 投票
7 回答
34210 浏览

c# - 如何解决“ChannelDispatcher 无法打开其 IChannelListener”错误?

我正在尝试在 Windows 服务中托管的 WCF 和我的服务 GUI 之间进行通信。问题是当我尝试执行我得到的 OperationContract 方法时

“'net.tcp://localhost:7771/MyService' 的 ChannelDispatcher 与合同 ''IContract'' 无法打开其 IChannelListener。”

我的 app.conf 看起来像这样:

端口 7771 正在监听(使用 netstat 检查)并且 svcutil 能够为我生成配置。

任何建议,将不胜感激。


异常的堆栈跟踪


有一个内部异常(但不在 Exeption.InnerExeption 下,而是在 Exeption.Detail.InnerExeption 下 - ToString() 方法没有显示)

URI 'net.tcp://localhost:7771/MyService' 的注册已经存在。

但是我的服务只在 app.config 文件中指定了这个 URI,没有其他地方。在整个解决方案中,此 URI 出现在服务器一次和客户端一次。