问题标签 [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.
c# - 多对多进程间通信,没有中央集线器
我正在寻找一种有效的方法来处理我机器上运行的多个进程之间的多对多通信。
我的要求是:
- 没有中央集线器(例如没有路由消息的中央进程)
- 所有进程都必须能够发送消息
- 当有新消息(来自任何其他进程)可用时,所有进程都会收到通知
我更喜欢基于命名管道的解决方案(例如,基于文件系统的解决方案)。
java - Servelts 中始终运行的线程
- 我需要构建一个始终运行的线程/进程,并且可以通过其他servlts和JSP页面进行查询......
- 该线程/进程将处理大文件,因此它将缓存文件块以减少文件访问(加上一些其他处理)......
- 因此,该线程/进程将被加载并等待任何查询来回答......只要服务器正在运行。
我想在所有的servelt类之间创建一个通用的静态类,但我发现这行不通(tomcat将每个新的servelt作为一个全新的程序处理)
那么我可以尝试的其他选择是什么?
c - 函数回调和进程间通信是否相同?
几天前,在一次采访中,有人问我一个问题,
我在那个问题上有点中立。因为我处于两难境地。在 IPC 中,如果我们看到进程只不过是一个函数,我们最后会在进程与进程之间进行通信。这里一个函数调用另一个函数。在函数回调中,我们function pointer
再次使用,即一个函数调用具有地址的另一个函数。所以只是想知道虽然它们不完全相同,但有什么区别?
linux - 在同一台 Ubuntu 机器上运行的独立进程如何相互通信?
这个问题是独立于语言和连接方法的。实际上找到方法是个问题。我知道我可以像prog1 | prog2
在 shell 中一样通过调用直接对两个进程进行管道传输,并且我已经阅读了有关 RPC 和 Sockets 的一些内容。但是一切都太抽象了,无法真正掌握它。例如,我不清楚套接字是如何创建的,是否每个进程都需要创建一个套接字,或者多个进程是否可以使用同一个套接字相互传输消息,或者我是否可以完全摆脱套接字。
有人能解释一下 Linux 中的进程间通信是如何工作的以及我有哪些选择吗?
c# - 如何在数据库绑定的应用程序之间进行有效的通信?
我们有许多不同的老式客户端-服务器 C# WinForm 客户端应用程序,它们本质上是数据库的前端。然后有一个 C# 服务器端 Windows 服务等待客户端应用程序提交订单,然后处理它们。
服务器端服务确定是否有工作要做的方式是轮询数据库。多年来,由于无数的业务规则,轮询等待订单的逻辑变得更加复杂。因此,即使无事可做,轮询存储过程本身也会使用相当多的 SQL Server 资源。再加上订单在提交的那一刻就被处理的要求,并且您遇到了性能问题,因为数据库正在不断地被轮询。
该设置现在实际上工作正常,但负载即将通过屋顶,很明显,它无法承受。
在一堆不同的客户端应用程序和服务器端 Windows 服务之间进行通信的一些有效方法是什么,它们比当前方法更具前瞻性?
数据库服务器是 SQL Server 2005。如果它真的涉及到最新的 SQL Server,我可能有能力购买最新的 SQL Server,但我宁愿不打那场战斗。
android - Android IPC远程服务调用显示错误
我想制作一个关于 IPC 通信的演示应用程序。(服务之间的通信)。我正在使用AIDL
它。
我发现大部分教程RemoteService
和客户端都在同一个包中。
我实际上是分开做的,在传递对象时我正在使用Parcelable
方法并面临错误......
它说就像RemoteService Signature
找不到您的课程。。
我还在下面显示了我的Logcat:如果您有任何解决方案,请指导我...或任何相互依赖的服务器客户端服务教程或文档..
日志猫:
谢谢;
c++ - 将数据发送到另一个 C++ 程序
是否可以将数据发送到另一个 C++ 程序,而不能修改另一个程序(因为有些人似乎错过了这个重要的限制)?如果是这样,你会怎么做?我当前的方法包括创建一个临时文件并以文件名作为参数启动另一个程序。唯一的问题是这会留下一堆临时文件以供稍后清理,这是不想要的。
编辑:此外,提升不是一种选择。
c++ - C/C++ shared memory, atomic operations, Linux
I'm doing inter-process communication using shared memory on a multi-processor server. I've simplified the code to the following:
My question: is this code correct?
In particular, do I need to add a
__sync_synchronize()
before the line
uint64_t current_x = my_struct->x
or will that be redundant since the atomic CAS on the following line effectively does that anyways? As you can see, what effectively I want is the __sync_lock_test_and_set functionality. However, from http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html it looks like that function may not work always as expected.
c# - 如何确保只有我的程序可以访问命名管道?
我计划将我的程序分成 2 个进程:第一个是 GUI,第二个是使用管理员帐户运行的后台进程。两者应该相互交流。
我正在考虑为此使用命名管道,但有一件事情困扰着我:
有没有办法确保只有我的程序才能访问命名管道?
c - 我们是否需要明确关闭其写端已经关闭的管道的读端?
我有以下情况。
我创建了一个管道。
分叉了一个子进程。
子进程显式关闭管道的读取端并写入管道的写入端并退出而不关闭任何东西(我认为 exit 应该代表子进程关闭所有打开的文件/管道描述符)。
Parent显式关闭管道的写入端,并使用
fgets
untilfgets
返回 NULL从管道的读取端读取。即它完全读取。
现在我的问题是,为什么父级在完成读取后需要明确关闭管道的读取端?从读取端读取完整数据后,系统完全删除管道不是明智的吗?
我在父项中明确关闭了读取端,并且Too many file descriptors
在打开更多管道时迟早会出错。我的假设是,一旦管道的写入端关闭并且数据已从读取端完全读取,系统会自动删除管道。因为你不能从管道中两次!
那么,一旦数据完全读写结束,系统不删除管道的原因是什么?