问题标签 [ipc]

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

delphi - 网站与 win32 可执行文件通信的标准方法是什么?

我有一些德尔福代码,给定一个项目列表,计算总价,同时考虑到任何可能适用的特殊交易。

用另一种语言重写此代码并非易事。

我应该如何设置它以与在同一台服务器上运行的网站进行通信?每次用户更新购物车时,网站都需要询问价格。可能会有多个并发请求。

delphi 代码需要维护一个内存中的特价商品列表,并定期从数据库中刷新。所以它不能简单地每次都执行或任何简单的事情。

我不知道网站是用什么写的,也不知道它在哪个http服务器下运行,所以我只是在寻找想法或标准方法。

0 投票
2 回答
885 浏览

ipc - 回复:共享内存和信号量

IPC 机制是使用共享内存和信号量来同步单工(如管道)还是双工(如消息队列)?

0 投票
1 回答
1674 浏览

ipc - 使用 POSIX 共享内存时,您在哪里放置 POSIX 信号量?

我正在尝试使用 POSIX 共享内存和 POSIX 信号量构建客户端服务器应用程序。我是否必须将信号量放在共享内存段中,或者信号量可以只是全局变量吗?我希望遵守 POSIX 约定。

0 投票
5 回答
14816 浏览

java - Linux 上 Java/C++ 应用程序共享内存 IPC 的良好替代品

我目前在 Java 和 C++ 应用程序之间为 IPC 使用共享内存,但正在寻找更方便的替代方案。

有人可以建议具有相同性能和速度的更好方法吗?

谢谢!

0 投票
1 回答
3122 浏览

c# - 标准输入和标准输出上的 C# 双向 IPC

如何连接两个 C# 进程,以便它们可以通过标准输入和标准输出相互通信?

像这样:

进程 A --> 标准输出 A --> 标准输入 B ---> 进程 B

进程 A <-- 标准输入 A <-- 标准输出 B <--- 进程 B

0 投票
3 回答
570 浏览

architecture - 游戏开发中的实时进程通信

如果您制作的游戏架构将系统组件(IE、渲染、物理、逻辑、输入、脚本等)拆分为不同的线程,您如何处理需要实时通信的情况?

例如,如果一个脚本想要在屏幕上绘制一个盒子,理想情况下它会在渲染组件发出“FrameDrawn”事件时执行此操作,以便在每帧绘制结束时将盒子绘制在屏幕顶部. 如果脚本组件和渲染组件位于彼此不同的线程上,这怎么可能?

0 投票
1 回答
356 浏览

linux - 重新定义信号处理缺陷

这是关于设计决策并了解采用其他服务的利弊。所以我们有两个服务和两个不相关的服务器,一个监听端口 10000,另一个是 xinetd 服务器通过 3 个不同的端口响应 3 个不同的请求(它的客户端使用 nc 服务器端口 1|端口 2|端口 3 来检索数据)。

有一天,因为安全问题,xinetd 服务器不得不停止,因为第一台服务器保留了相同的数据,我们决定采用 xinetd 服务器,向第一台服务器发送 USR1 信号,让它暴露相同的公共数据。因此,需要添加逻辑来重新定义第一台服务器中的信号处理。我们计划使用 USR1 (10, 16, 30) 例如,在 xinetd 服务器中, kill -10 first_server 会让第一台服务器吐出与旧服务器过去发出的相同的数据,并且仍然转储到第一个端口. 争论是这是一个糟糕的设计,因为它滥用了 unix 信号使用,当然还重新定义了 POXIS 和 Linux 预定义的 10、16 和 30 符号行为。这在技术上真的很糟糕吗?会对系统造成什么危害?

0 投票
3 回答
3004 浏览

perl - 为什么我的 Perl 程序在 fork 后没有收获子进程?

我一直在尝试使用 Perl 编写一个简单的 ping 扫描仪供内部使用。由于它扫描 24 位 CIDR 网络,因此如果它在单个线程中运行,则该脚本需要很长时间才能运行。我曾尝试添加 fork 功能来加快进程,但我的第一次尝试几乎花费了相同的时间,因为在任何给定时间只有一个子进程处于活动状态。

我在perlipc文档和Perl Cookbook中阅读了子进程,并提出了第二个版本:

当我扫描我的内部网络时,输出是:

从结果中可以看出,成功扫描的线程打印“up”消息,干净地退出并被父进程收割。同时,其他 251 个线程悬空连接到 '/sbin/init',这可以从快速的 'ps -ef' 列表中看出。如果我在退出语句之前的子处理块中添加一个'print "Child: $currIPending\n"',我会在我的 perl 脚本退出“之后”从终端上的剩余 251 个进程中获得输出。

这里发生了什么?我认为 $SIG{CHLD} 子例程与 waitpid 循环相结合将获得所有子进程并确保系统中没有僵尸/悬空进程。

同时,我还希望能够在任何给定时间运行特定数量的子进程,例如,'n' 个子进程同时运行,每当一个退出父进程时,如果需要,则启动另一个子进程但没有更多在任何特定时刻都比'n'个孩子。这可能吗?如果是,我可以得到一些伪代码来帮助指导我吗?

0 投票
1 回答
614 浏览

windows - 本地计算机上的 windows mailslot 最大大小

在本地计算机中研究 IPC 的 windows mailsots 后,我对数据报的最大大小有点困惑。MSDN 说

“邮槽是驻留在内存中的伪文件,您可以使用标准文件函数来访问它。邮槽消息中的数据可以是任何形式,但在计算机之间发送时不能大于 424 字节。与磁盘文件不同,邮槽“

“在计算机之间发送时”让我感到困惑。如果数据仅从一个本地进程发送到同一台机器上的另一个进程,是否有最大大小?

0 投票
1 回答
4742 浏览

.net - C#/WPF应用程序实现app CLI的简单IPC机制

所以我一直在阅读很多关于.Net 上的进程间通信的内容。命名管道,远程处理。这一切看起来都很棒,但对于我需要做的事情来说可能有点矫枉过正。

我想为我的 WPF 应用程序添加一个命令行界面,所以我需要一个简单的 IPC 机制来将字符串从一个进程发送到已经运行的应用程序。

这样做有什么建议?