0

In a project I have one master-application (C#) that controls several child-applications.

Those child-applications will be written in C#, Java, C++ and python. And, which makes it more difficult, there can be multiple instances of the same child-applications.

This can be illustrated like:

enter image description here

Right now I thought of NamedPipes, but this will not work with multiple instances, because they would all listen to the same pipe (at the moment I have no way of telling the child-process which pipename to use).

Is there an easy and lightweight way of one way communication which is not dependent on platform (or at least available in the languages mentioned above)?

Mare Infinitus
  • 8,024
  • 8
  • 64
  • 113

2 Answers2

1

How about usual Client/server approach? You can choose (or implement) the protocol yourself depending on your requirements.

Germann Arlington
  • 3,315
  • 2
  • 17
  • 19
  • Each child-application is be a server and communication is somewhat "heavy-weight" from the master-applications view. – Mare Infinitus Aug 21 '14 at 15:10
  • I was rather thinking that each child will be the client as it is easier for the child app to connect to master/server app. Then it does not matter what is the server and what is the client as the IO channels are bi-directional. One well designed server is more than capable of serving hundreds of clients... – Germann Arlington Aug 21 '14 at 16:09
1

You can use sockets, which is pretty much language agnostic, and will even work great if you decide to move your process to another machine.

You can also take a look at ZeroMQ

Drax
  • 12,682
  • 7
  • 45
  • 85