Java 与多个侦听器的简单进程间通信
在一个项目中,我有一个主应用程序(C#),它控制几个子应用程序Java 与多个侦听器的简单进程间通信,java,c#,c++,cross-platform,ipc,Java,C#,C++,Cross Platform,Ipc,在一个项目中,我有一个主应用程序(C#),它控制几个子应用程序 这些子应用程序将用C++、java、C++和Python编写。 而且,同一个子应用程序可能有多个实例,这使得它更加困难 这可以如下所示: 现在我想到了NamedPipes,但这不适用于多个实例,因为它们都会侦听同一个管道(目前我无法告诉子进程使用哪个管道名) 是否有一种简单、轻量级的单向通信方式不依赖于平台(或至少在上述语言中可用)?通常的客户端/服务器方式如何? 您可以根据自己的需求选择(或实现)协议。您可以使用套接字,这几乎与
这些子应用程序将用C++、java、C++和Python编写。 而且,同一个子应用程序可能有多个实例,这使得它更加困难
这可以如下所示: 现在我想到了NamedPipes
,但这不适用于多个实例,因为它们都会侦听同一个管道(目前我无法告诉子进程使用哪个管道名)
是否有一种简单、轻量级的单向通信方式不依赖于平台(或至少在上述语言中可用)?通常的客户端/服务器方式如何?
您可以根据自己的需求选择(或实现)协议。您可以使用套接字,这几乎与语言无关,如果您决定将进程移动到另一台机器上,它甚至可以很好地工作
您还可以查看如果主应用程序启动子应用程序,它是否可以将消息作为标准中的字符串传递给他们?您应该更新原始问题,而不是问一个非常类似的新问题-原始问题是关于命名管道的,这似乎无法解决。所以我问了一个更一般的问题。是的,它们是由主应用程序启动的。绳子会好的。必须看一看。每个子应用程序都是服务器,从主应用程序的角度来看,通信有点“沉重”。我认为每个子应用程序都是客户端,因为子应用程序更容易连接到主/服务器应用程序。那么,什么是服务器,什么是客户机都无关紧要,因为IO通道是双向的。一台设计良好的服务器能够为数百个客户端提供服务。。。