问题标签 [inter-process-communicat]

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 投票
2 回答
404 浏览

java - RMI 对 Java 中 IPC 的支持

我浏览了有关 java Inter Process Communication 的所有链接,但我无法得到确切的答案。我正在编写一个 java 服务,我想与我的系统上运行的服务进行通信。该服务可以是 C、C++ 或在硬件设备上运行的服务。哪个是最好的方法?在这种情况下可以使用 RMI 吗?如果是,我该如何实施?

0 投票
1 回答
893 浏览

java - 将 CORBA 与 C++ 和 Java 结合使用的 IPC

我决定使用 CORBA 在 C++ 服务和 java 服务之间进行通信。我想知道是否可以使用 CORBA 来调用 C++ 库和 java 库,就像我们在应用程序中调用 dll 一样。如果有人帮助我做出正确的决定,那将非常有帮助!

0 投票
4 回答
5436 浏览

php - PHP 中有没有办法像在 Java EE 中一样使用持久数据?(在 PHP 线程之间共享对象)没有会话也没有缓存/DB

PHP中有没有办法使用“会话外”变量,这些变量不会像Java服务器一样在每个连接处加载/卸载?

请原谅我缺乏准确性,我不知道如何以正确的方式编写它。

主要想法是有这样的东西:

我已经使用shmop和其他奇怪的东西做了这样的事情,但是如果在“纯 PHP”中有一种“干净”的方法可以在不使用缓存系统(我认为 APC、Redis ...)或数据库的情况下做到这一点。

编辑 1:

由于人们(感谢他们为我花时间)以同样的方式回答我的会话,我添加了一个我错过写的约束:请不要会话。

编辑 2:

似乎唯一能做这种事情的 PHP 本地方法是共享内存 ( shmop) 和命名管道。我会使用托管方式来访问共享对象,而不考虑内存管理(共享内存块大小)或系统问题(管道)。

然后,我在网上浏览了一个 PHP 模块/库,它提供了执行此操作的函数/方法:我什么也没找到。

编辑 3:

在对@KFO 指出的方式进行了一些研究之后,似乎putenv/setenv不是用来处理对象的(我会避免序列化)。因此,它解决了诸如字符串或数字之类的短“事物”的问题,但不适用于更大/更复杂的对象。

使用“env 方式”和另一种方法来处理更大的对象将是不连贯的,并且会增加代码的复杂性和可维护性。

编辑 4:

找到了这个:DBus(GREE Lab DBus),但我没有工具可以在工作中测试它。有人测试过吗?

我对每一个建议都持开放态度。

谢谢

编辑5(“答案”):

由于 DBus 并不是我想要的(需要安装第三方模块,没有“严重”的应用证据),我现在使用的 Memcache 已经证明了它的可靠性(在@PeterM 评论之后,见下文)。

0 投票
2 回答
21811 浏览

python - python中2个程序之间的通信

我有 2 个程序都在 python 中,一个是第 3 方并且已经制作好了。我想在前台运行一个,在后台运行一个。我想在两个程序之间建立通信,所以我可以告诉前台的程序做某事,然后它告诉另一个程序做某事。比如在前台程序上我按下一个按钮,然后告诉其他程序做某事。最好的方法是什么?

我知道我以前问过一个关于这个的问题,但我觉得人们可能觉得这个问题太具体了,所以我写了一个更简化的问题。

0 投票
1 回答
3204 浏览

winapi - Win32:如何向 Windows 中不同用户运行的进程发布消息?

我们运行两个应用程序,每个应用程序都使用 RegisterWindowMessage() 注册相同的消息:应用程序 A 作为普通用户,应用程序 B 作为管理员在机器上的同一用户会话中,并且这些应用程序将这个消息发送给另一个。当 A 和 B 作为同一个用户运行时,一切都很好,我们能够使用 PostMessage() 消息进行通信。现在,由于应用程序 B 以管理员身份运行,消息不再通过。我们对于它可以做些什么呢?

这种情况是否要求我们使用其他机制(消息除外)?

0 投票
2 回答
6588 浏览

events - powershell 多运行空间事件传递

我一直在寻找一种在不同运行空间之间传递事件的方法,但还没有找到。下面的片段创建了一个后台运行空间,它显示了一个只有一个按钮的小窗口。OnClick 它应该发布一个主运行空间应该接收的事件:

但这不起作用。我将最后几行更改为:

......这也没有奏效。我猜是因为我无法从 Child-RS 中的 parent-RS 调用函数。奇怪的是,在某些情况下,Get-Event 返回了一些“TestClicked”-Events,但我无法回忆或重现......

编辑:显然上面的工作方式 - 我又遇到了我的问题,它与一些功能结合使用。大多数人都知道 Scripting Guy 在 Powershell-BLog 上发布的 Show-Control 功能。由于我宁愿显示整个 GUI 而不是单个控件,因此我将其修改如下:

很抱歉用德语发表评论。

现在在函数调用中使用带有“GuI-events”的这个函数(它也使用发送“GUIloaded”和“WindowClosed”事件的技术),似乎不可能从gui-events中发送事件。像这样:

需要注意的是,$ui 是一个全局的 SyncHasTable。奇怪的是,那些“$ParentHost.UI.WriteLine()”调用在父控制台上工作并产生输出。“GenerateEvent”调用似乎根本不起作用。Get-Event 既不显示任何事件,也不会触发通过 Register-EngineEvent 设置的操作。

对此有什么想法吗?

0 投票
1 回答
704 浏览

python-2.7 - 连续向子进程发送数据

我正在测试与子进程的通信。我必须启动一个服务器,定期发送数据。最终目标是获取气象数据的进程和绘图服务器。采样率是数量级或分钟....我编写了这两个代码片段以了解python中ipc的基础知识,但我什至无法使它们工作。同步性不是问题。

主要流程

子流程:

主进程正在阻塞,显然子进程没有读取 - 发送 ACK。我哪里错了???谢谢

0 投票
3 回答
1246 浏览

multithreading - MATLAB 上的进程间通信

我想创建一个 MATLAB 程序来模拟某些代理的行为。这些代理中的每一个都能够相互通信并决定下一个状态。我可以实现的程序是我熟悉的传统语言,如 java、python 或 C++,并使用线程来模拟每个代理。

现在我想尝试在 MATLAB 上实现以利用 MATLAB 绘图函数及其数学工具。是否有可能在 MATLAB 中创建这样的模拟,或者更好的是直截了当?我知道并行工具箱,但我不确定 MATLAB 是否适合此类应用程序。我也可以使模拟不并行,但这并不有趣。这是作业的一部分,我想知道在 MATLAB 上开始这样的模拟以更加熟悉它是否是个好主意。如果它不是直截了当的,我可以轻松切换到 python。

0 投票
1 回答
400 浏览

java - 从通过 Runtime...exec("..") 在 java 文件中加载的已启动 jar 文件的触发方法

这就是我想要做的:

我需要从一个 java 文件中启动两个 jar 文件,并且当我从第二个 jar 文件中读取特定状态时,我想从第一个启动的 jar 文件中调用一个方法。我想出了如何从那个 jar 文件中读取输出流。(我也知道,打印出来的不是jar文件,而是jar文件中的类。我只是用这种方式阐述了这个问题,以清楚地解释我使用一个java文件来启动两个jar文件)

我现在可以读取 jar 文件的输出。

在一个特殊的关键字上,我希望第一个启动的 jar 运行某个方法(非静态)。

例如:

我认为可以通过使用 theProcess1 输出来实现,但我不知道如何在 jar 文件中读取此流。(jar 文件不知道它是通过 java 文件启动的。

有任何想法吗?

0 投票
1 回答
1387 浏览

c - 进程与管道之间的通信

我正在尝试实现一个程序,该程序在输入中采用一系列参数,并取决于它创建由管道实现的相同数量的进程,每个进程在管道中写入,然后将其传递给父亲。

这是我的代码,它不能满足我的需要。

谢谢你的帮助 。

输入:./pipes cmd1 cmd2 cmd3